处理JavaScript的Web scraper

时间:2012-09-13 21:03:45

标签: php javascript web-scraping

  

可能重复:
  Make a JavaScript-aware Crawler

我正在试图找出使用什么作为基于PHP的Web scraper的基础,它可以处理使用JavaScript呈现的页面。许多网站刮擦尝试(至少我处理的尝试)现在都失败了,除非这些页面中的JS被执行。这些页面不是为了优雅地回退到无脚本实现而构建的。这包括大量使用AJAX的那些。

是否有人建议从何处开始开发可以处理现代和严重依赖JavaScript的网页的网络抓取工具?

PHP可以使用的东西最好。

5 个答案:

答案 0 :(得分:2)

可以在无头模式下使用Web浏览器引擎来加载页面并分析DOM。一些谷歌搜索引导我http://phantomjs.org/

答案 1 :(得分:1)

那些使用大量Ajax的网站,只需调用与网页相同的网址,并在该响应上构建您的网站内容,而不是请求该网页。

那些拥有大量document.write或框架等效的网站,您可能只是使用简单的正则表达式删除空格或匹配标签或相关内容,并再次请求负责的脚本而不是请求它的页面...

答案 2 :(得分:1)

您可以使用Selenium这是一个浏览器自动化工具,然后使用其中一个PHP绑定herehereor here,这样您就可以从PHP自动化Selenium。

答案 3 :(得分:0)

你必须在PHP中拥有一个JavaScript引擎。或者在命令行上使用一些无头Webkit。即便如此,它也会变得非常复杂。所以简短的回答是:不,对不起,你不能这样做。

答案 4 :(得分:0)

PHP支持V8引擎,所以我猜你可以将javascript传递给V8。虽然不是一件好事,我会使用其他东西而不是直接的PHP来做这件事。