我需要抓住多家公司的职业网页(经过他们的许可)。
决定使用什么的重要因素
我的怀疑
修改
使用Watir-webdriver + Nokogiri结束,以便在存储数据时可以利用活动记录。在提取数据时,Nokogiri比Watir-webdriver快得多。
Scrapy本来会更快,但速度权衡并不像处理scrapy中不同类型网站的复杂性权衡那样重要(例如,我必须经历一些目标网站上的ajax驱动搜索)。希望这有助于某人。
答案 0 :(得分:1)
如果速度很重要,您可以使用watir-webdriver gem来驱动PhantomJS(支持JavaScript的无头浏览器)。打开PhantomJS中的任何页面,如果watir-webdriver太慢而无法从中获取数据,您可以将呈现的HTML传递给Nokogiri。
了解更多:
答案 1 :(得分:1)
您应该查看Google发布的本指南Making AJAX Applications Crawlable, 它讨论了一些网站支持的AJAX爬行方案。
您希望在URL的哈希片段中查找#!
,这向爬网程序指示该站点支持AJAX爬网方案,并且当稍微修改URL时,服务器将返回页面的HTML快照。