4

我想获取由 javascript 生成的网页的 html 源代码,Curl(PHP) 我尝试了 curl,但我只得到一个 javascript 代码:(

我可以使用 ruby​​ 来解决我的问题吗?!

4

4 回答 4

3

javascript由浏览器执行以生成HTML。如果您使用 CURL 发出请求,它只会向您显示实际的 HTML 内容。在收到响应正文后,您需要一个 Javascript 引擎来处理 Javascript。

于 2012-10-29T13:31:19.277 回答
0

只需查看任何网络检查器工具(在 chrome 中只需 ctrl+shift+i)。在这里,您可以看到 javascript 在反映的页面上所做的更改。我不认为 curl 或任何类似 curl 的工具可以做到这一点。

于 2012-10-29T13:32:55.957 回答
0

这是一个棘手的问题,因为必须运行 JavaScript 才能获得正确的代码。我想说的是在本地下载所有代码,然后在代码中添加一个ajax调用,这样它就可以在所有js运行后将源ajax返回给你。然后在浏览器中运行代码。

如果您需要多次执行此操作,您可以将这些需要加载到数据库中的页面排队并使用 php.ini 加载所有页面。然后,一旦 js 将 ajax 代码返回到服务器,它就可以刷新并将下一页从队列中拉出。

如果您需要我澄清任何事情,请告诉我。

于 2012-10-29T13:54:53.203 回答
0

这可以通过像 phantom js 这样的无头浏览器活动来完成,这是一种创建自己的逻辑的好方法,然后在控制台中为 php 获取结果数组,您可以在此处尝试活动https://github.com/jonnnnyw/php-phantomjs & 也https://github.com/ariya/phantomjs

于 2017-09-18T14:05:26.323 回答