我想从PHP页面获取HTML代码。所以我这样做:
$url = 'http://en.wikipedia.org/wiki/New_York_City';
$html = file_get_html($url);
问题是,Wikipedia不会将<script>
标记发送到PHP请求,因此它不会显示JavaScript。
我想这是因为维基百科发现“请求者”没有启用JavaScript,所以它不会发送<script>
标签。
我怎样才能让维基百科知道我的PHP是启用了JavaScript ?
我听说过流上下文,但我不知道如何设置启用JavaScript 。
答案 0 :(得分:2)
这应该有效
$url = 'http://en.wikipedia.org/wiki/New_York_City';
$html = file_get_contents($url);
在我的本地PHP服务器上测试它。
答案 1 :(得分:1)
看起来file_get_html()
函数正在剥离<script>
块,因为我试图从Fiddler请求GET /wiki/Main_Page HTTP/1.1
而没有任何请求标头,它确实返回<script>
在响应中阻止。
答案 2 :(得分:1)
感谢symcbean,这是解决方案。
我补充说:
ini_set('user_agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.9) Gecko/20071025 Firefox/2.0.0.9');
现在它正在发送相关脚本块。
)
答案 3 :(得分:-5)
您可以使用iframe。
您还可以使用jQuery之类的东西来抓取您网站上的页面(或页面的某些部分)。