0

我正在使用 PHP 从网页上抓取一些信息,但是,我发现我试图从网页上抓取的信息是通过某种 AJAX/javascript 方式加载的。我以为我记得 Curl 可以遍历 javascript,但我发现事实并非如此。

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

有没有可以做到这一点的库或函数?除了必须自己手动跟踪脚本/重定向之外,关于如何解决这个问题的任何想法?它不必很漂亮——我只是想刮掉生成的文本。

4

2 回答 2

1

我不认为有这样的图书馆。如果你真的很绝望并且手头有很多时间,那么你当然可以下载 Firefox 的源代码,例如,为自己构建一些有用的东西。但是,我认为这不会是对您或其他任何人资源的最佳利用。

请注意,即使是谷歌的索引机器人也不处理 ajax。 是谷歌不得不说的。您正在处理的网站很可能确实支持这一点,在这种情况下,您可以尝试使用这个 google 的技术,但总的来说,不幸的是,您不走运。

于 2012-06-17T15:48:31.627 回答
1

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

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

于 2012-06-18T01:46:08.677 回答