如何从远程页面获取iframe内容?
我认为PHP是无用的,因为在执行php之后插入iframe,或者我错了?
因此,我所知道的唯一解决方案是使用Javascript / jQuery。
例如,如果JS与iframe在同一页面上,这将有效:
$(function() { var myContent = $("#iFrame").contents().find("#myContent") }); iframe content blablabla
但是,我使用简单的HTML DOM库来抓取远程网页,如:
$url = 'http://page-with-some-iframe.com/'; $html = file_get_html( $url ); // Find iframes and put them in an array $iframes_arr = array(); foreach($html->find('iframe') as $element) { $iframes_arr[] = $element->outertext; } var_dump($iframes_arr); die();
但很明显,没有返回任何内容;(因为在运行php之后会显示iframe;(
所以,我在想我可能需要注入这段代码:
$(function() { var myContent = $("#iFrame").contents().find("#myContent") });
在我抓取的页面的标题中存储在$ html中。
任何想法如何获得这样的iframe内容,或者这种过于复杂的方法和一些更简单的解决方案确实存在?
由于原始策略相同,您将无法使用javascript访问iframe内的远程页面文档。
如果您知道页面的URL,则可以使用PHP CURL来检索它
由于安全政策,这是不可能的。 如果您能够获得远程iframe的内容 – 您可以轻松窃取某人的Facebook或银行数据。 这就是为什么所有的网络浏览器阻止它