gpt4 book ai didi

php - 如何使用 PHP 中的 phatomjs 在下载的页面上执行 Javascript?

转载 作者:行者123 更新时间:2023-11-28 20:39:01 26 4
gpt4 key购买 nike

我正在使用“自动浏览”脚本。我的脚本应该能够下载某些页面,然后解析这些页面以查找某些值,从而生成输出。服务器还需要身份验证。

我已经能够使用 PHP 中的 CURL lib 获取这些页面,包括身份验证部分,但问题是这些页面的内容是在 javascript 函数内生成的,因此在使用 CURL 函数下载它们之后,大部分内容由于 JS 代码未执行而丢失。

所以,我需要的是 JS 执行后的 DOM。我花了一些时间找出最好的方法,但我不确定是否找到了。无论如何,它对我来说还不起作用,所以......

我所做的就是在我的 Linux 机器上安装 phantomjs,并尝试使用它来执行下载页面中的 JS 代码。因此,我使用 CURL 下载页面并将其保存为“test.html”文件,然后执行“phantomjs test.html”,但我得到的只是:

$ phantomjs test.html 
undefined:1 SyntaxError: Parse error

它什么也没做,就像被绞死了一样。

test.html 在脚本标签中包含 html 和 JS 代码,就像其他常见的 JS 网页一样。

无论如何,为了确保这不是test.html的问题,我用wget下载了google.com的index.html页面,并且得到了相同的结果:

$ phantomjs index.html 
undefined:1 SyntaxError: Parse error

所以我得出结论,我一定做错了什么......

欢迎任何帮助。 :-)

最好的,

最佳答案

phantomjs index.html 不起作用的原因是因为您传递给 phantomjs 的第一个参数是您希望执行的 phantomjs 脚本,而不是 html 文件。我建议使用 phantomjs 直接打开网页,而不是向其中传递 html 文件。关于如何执行此操作的示例有很多,甚至可以查看 http://phantomjs.org/ 主页上的一个。 。有关更多高级功能,请参阅API 。如果您有任何更具体的问题,请在此处提问。

关于php - 如何使用 PHP 中的 phatomjs 在下载的页面上执行 Javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14754748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com