我认为主题提出问题,我通常使用PHP进行解析/网页抓取,但我真的很难抓到javascript大多数情况下我无法做到这一点
例如:解析执行javascript时出现的div。
我知道RUBY,它有一个javascript的解析器库,所以问题是w是程序的语言网络抓取,将有效废弃javascript生成的内容?它在这里是一个PHP库,就像用于解析javascript内容的ruby一样?
答案 0 :(得分:0)
有一些策略可以解决这个问题。根据您的需要,考虑以编程方式实例化您可以挂钩的浏览器实例并从中读取页面。
这个想法是,让浏览器完成工作,因为页面是为浏览器而不是机器人制作的。然后,您可以使用浏览器插件轻触并抓取数据,该插件将数据提供给运行的主应用程序。
这可能对你需要的东西有点过分。我会由你决定。
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以尝试使用Selenium之类的内容,它可以让您自动执行浏览器任务。
另一方面,您可以详细了解执行js代码时会发生什么。例如,如果js代码通过POST一些数据从服务器请求某些内容,您可以以常规方式模拟它。
答案 3 :(得分:0)
你应该看看PhantomJS和CasperJS(无头浏览器)。
答案 4 :(得分:0)
在红宝石世界中,运行Phantomjs的宝石将是poltergeist
还有另一篇文章介绍了你在ruby here too中的一些选项(但它们并非所有js都有能力)