我在玩Ruby + Hpricot并构建一个简单的刮板。我能够与其他网站一起工作,无任何问题。但是,如果一个页面完全用JavaScript编写,那么可以被刮掉吗?
但是,google搜索结果页面现在似乎完全是基于JavaScript的,除了一些内部链接。
Ruby,Scrape页面完全用JavaScript编写
页面可以这样写不被常规工具,如机械化&刮角度来说,Hpricot(我的猜测是,他们不能)
他们是工具/使用的宝石,可能可能会尝试渲染页面(如浏览器),然后收集数据?
谢谢!
编辑:感谢您的回复。我意识到直接刮谷歌是不对的,有一个API的地方,可以使用。这个问题的核心是我想要发现的确实是,如果有一个页面完全用JavaScript编写的(包括文本和内容 - 可能会被模糊处理)。是否有一个gem会尝试仅以文本呈现页面然后获取其文本内容?
为什么你会试图刮谷歌,而不是使用他们的API? (提示:谷歌搜索结果在没有JS的情况下工作得很好,至少如果你使用的是基于文本的网络浏览器。) –
谷歌可能不喜欢你刮他们的网页。您应该使用他们的API(并检查他们在那里有哪些服务条款) – Thilo
@Chris:谢谢,我正在用lynx检查他们用于常规文本结果页面的URL。 @Thilo:我明白,我只是在学习,所以我可能只会用几页来工作。不要以为他们会(关心)。 – DMin