如何使用“启用JavaScript”获取HTML?

时间:2010-03-09 16:48:46

标签: javascript php html stream

我想从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

4 个答案:

答案 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之类的东西来抓取您网站上的页面(或页面的某些部分)。