是否可以从我使用 jquery 通过 ajax 调用加载它的页面获取 iframe 的 HTML(请注意,iframe 是指通过 ajax 调用加载的网页)?
实际上我想废弃这个网站的内容。问题是该网站通过 ajax 加载。所以我不能使用 curl 来获取需要加载 javascript 的网页内容。
为了解决这个问题,我从 index.php 调用一个带有 ajax 的 php 文件,并将我的查询q=blog传递给 php 页面,该页面将此 iframe 返回给 index.php
<iframe id="myframe" src="https://blekko.com/#?q=blog" width="100%" height="100%"></iframe>
成功的 ajax 响应后,我保存了 ajax 的响应,它是一个 引用网站的 iframe 以及 index.php 中的 div 中的查询
<div id="myhtml" style="display:none"></div>
该网站的内容在 index.php 的 iframe 中加载 3 到 6 秒后,我在 index.php 中有一个 jquery 函数,该函数在 5 秒间隔后检查 div id "myhtml" 的 html
<javascript>
var newInt = setInterval(function(){ check(); }, 5000);
function check(){
blekko_html = $("#myframe").contents().find("html").html();
alert(blekko_html);
}
</javascript>
但是每次调用 check() 函数时,它都会返回/警告这个
<iframe id="myframe" src="https://blekko.com/#?q=blog" width="100%" height="100%"></iframe>
即使 iframe 加载了网页的内容,它总是返回 iframe 的 html 初始化之上,而不是其中网页的 html。
是否可以获取通过 ajax 调用加载的 iframe 的 html,并且该 iframe 包含通过 ajax 调用加载的网页?
如果我能够获取该 iframe 的 html,那么我将使用 ajax 再次将其发送到 php 页面,如果我可以进行抓取并获取所需的数据。