2012-06-17 20 views
0

我使用PHP从网页上获取一些信息,但是,我发现我试图从网页上刮取的信息是通过AJAX/JavaScript的某种方式加载的。我想我记得Curl可以遍历JavaScript,但我发现事实并非如此。有没有一个库可以通过AJAX/javascript跋涉?

我似乎记得某种可以通过javascript和AJAX跟踪的后端“web浏览器”库/函数,以获得全功能浏览器将会到达的最终页面结果。

有没有可以做到这一点的库或函数?关于如何去做这件事的任何想法,除了必须自己手动跟踪脚本/重定向?它不一定非常漂亮 - 我只是想找到最终的文本。

回答

1

也许不是在PHP中,但在其他语言中有:Watir/WatiN,selenium,watir/selenium-webdriver,capybara-webkit,celerity,node.js直接运行js以及phantomjs。还有iMacros和类似的商业选择。

但我通常会发现,我可以通过查看页面正在制作的请求并重新创建它们/解析响应来获取我想要的数据,而无需任何这些数据。

1

我不认为有这样一个图书馆。如果你真的绝望了,而且你有很多时间,那么你当然可以下载Firefox的源代码,并且建立一些有用的东西。不过,我认为这不会是对您或其他人资源的最佳利用。

请注意,即使谷歌的索引机器人不处理阿贾克斯。 Here是Google对此的评论。你处理的网站很可能会支持这一点,在这种情况下,你可以尝试使用这种谷歌的技术,但总的来说,不幸的是,你运气不好。

+1

实际上有一些非常有力的证据表明,Google的抓取工具现在基于Chrome,并且他们抓取的AJAX内容很好:http://www.webmasterworld.com/google/4159807.htm – duskwuff

+1

@duskwuff是的,我之前看过那篇文章。但是,如果我的网站日志是通过的任何东西,那么谷歌不抓取Ajax。 –

相关问题