首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >处理javascript生成的动态HTML的Ruby on Rails库的最佳web抓取

处理javascript生成的动态HTML的Ruby on Rails库的最佳web抓取
EN

Stack Overflow用户
提问于 2011-12-13 12:24:40
回答 1查看 3.1K关注 0票数 2

我正在使用Ruby on Rails和机械化库来抓取商店网站。问题是很多时候我不能抓取某些元素。然而,当我在网站上“查看源代码”时,我可以看到这一点。

例如,沃尔玛的类别(在这种情况下是“健康”)是不可推卸的。我相信这是因为它是动态生成的HTML (例如,从javascript)。为了解决这个问题,我需要一个浏览器来处理web请求。

http://www.walmart.com/ip/Replacement-Sensor-Module-for-AlcoMate-Prestige-Breathalyzer/10167376

我也在亚马逊EC2上使用linux机器。安装用于UI抓取的浏览器将会很困难。有没有什么Rails gem/plugin可以帮助我?

谢谢大家!!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-13 13:17:57

换句话说,你的问题是,有什么简单的方法可以像网页浏览器一样解析超文本标记语言文档的DOM,然后对解析的DOM执行文档中的JavaScript?而不运行实际的网络浏览器。

这有点棘手。

然而,并不是所有的都失去了。看看Capybara吧。尽管它是为验收测试而创建的,但您也可以使用它来对文档进行一般的摸索。要执行JavaScript,你需要使用一个支持它的驱动程序,因为你希望它是“无头的”(没有浏览器图形用户界面),这可能意味着要使用capybara-webkitAkephaloscapybara-envjs

另一个选择可能是Harmony,我对它一无所知,只知道它似乎做了你想做的事情,但也似乎不再维护了,所以YMMV。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8484305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档