【发布时间】:2011-05-14 14:01:37
【问题描述】:
我想用 PHP Curl 解析网页中的 HTML 代码,但是有一个错误消息,我无法在没有 JavaScript 的情况下访问该站点。
我可以使用 PHP Curl 启用 JavaScript 吗?
【问题讨论】:
-
已经回答过了,所以...
标签: php javascript curl libcurl
我想用 PHP Curl 解析网页中的 HTML 代码,但是有一个错误消息,我无法在没有 JavaScript 的情况下访问该站点。
我可以使用 PHP Curl 启用 JavaScript 吗?
【问题讨论】:
标签: php javascript curl libcurl
没有。
这很简单 - 一个页面测试,如果您启用了 JavaScript,则通过使用 JavaScript 执行一个命令,这将删除诸如“您没有启用 JavaScript”之类的内容。
因此,如果您没有启用 JS,则错误不会消失。
如果 JS 未启用,JavaScript 可选择(甚至更有可能)将您的浏览器重定向到实际页面 - 同样,您将停留在第一页,这表示您没有启用 JS...
PHP curl 不是一个完整的浏览器。它只是一个库,用于与服务器进行通信,使用 HTTP、FTP 等。它既不渲染也不解析。
为了实现这一功能,您需要一个 JavaScript 引擎……据我所知,PHP 中没有一个功能齐全的引擎。
【讨论】:
JavaScript 由浏览器执行; cURL 没有 JavaScript 解析器,因此无法执行。
由于该网站希望某些信息告诉它启用了 javascript,因此您需要使用可以通过实际浏览器执行网页的工具来为您提供 html。
【讨论】:
虽然想法很糟糕:http://timwhitlock.info/blog/2008/05/09/full-javascript-parser-for-php/
您可以将返回的字符串解析为 Javascript。但是,如果它使用 AJAX,就会遇到麻烦。
读取:解析!= 运行。
【讨论】: