Web抓取JAVASCRIPT内容的语言

时间:2011-07-19 20:42:02

标签: php ruby programming-languages web-scraping

我认为主题提出问题,我通常使用PHP进行解析/网页抓取,但我真的很难抓到javascript大多数情况下我无法做到这一点

例如:解析执行javascript时出现的div。

我知道RUBY,它有一个javascript的解析器库,所以问题是w是程序的语言网络抓取,将有效废弃javascript生成的内容?它在这里是一个PHP库,就像用于解析javascript内容的ruby一样?

5 个答案:

答案 0 :(得分:0)

有一些策略可以解决这个问题。根据您的需要,考虑以编程方式实例化您可以挂钩的浏览器实例并从中读取页面。

这个想法是,让浏览器完成工作,因为页面是为浏览器而不是机器人制作的。然后,您可以使用浏览器插件轻触并抓取数据,该插件将数据提供给运行的主应用程序。

这可能对你需要的东西有点过分。我会由你决定。

答案 1 :(得分:0)

你应该看一些无GUI /无头浏览器。有一些是为Java编写的。我找不到PHP的一个。

看看:

答案 2 :(得分:0)

您可以尝试使用Selenium之类的内容,它可以让您自动执行浏览器任务。

另一方面,您可以详细了解执行js代码时会发生什么。例如,如果js代码通过POST一些数据从服务器请求某些内容,您可以以常规方式模拟它。

答案 3 :(得分:0)

你应该看看PhantomJS和CasperJS(无头浏览器)。

答案 4 :(得分:0)

在红宝石世界中,运行Phantomjs的宝石将是poltergeist

还有另一篇文章介绍了你在ruby here too中的一些选项(但它们并非所有js都有能力)