ruby中的网络爬虫

您在Ruby中编写Web爬虫的建议是什么? 任何lib比机械化更好?

如果您只想获取页面内容,最简单的方法是使用open-uri函数。 他们不需要额外的gem。 你只require 'open-uri'和… http://ruby-doc.org/stdlib-2.2.2/libdoc/open-uri/rdoc/OpenURI.html

要解析内容,您可以使用Nokogiri或其他gem,例如,也可以使用有用的XPATH技术。 你可以在SO上找到其他解析库。

我试试海葵 。 它使用起来很简单,特别是如果你必须编写一个简单的爬虫。 在我看来,它也设计得很好。 例如,我编写了一个ruby脚本,可以在很短的时间内在我的网站上搜索404错误。

您可能想要查看构建在Mechanize / Nokogiri之上的wombat,并提供DSL(例如Sinatra)来解析页面。 很简约 :)

我正在研究不是蜘蛛的先锋gem ,而是基于em-synchrony gem的简单异步爬虫

我刚刚发布了一个名为Klepto的版本 。 它有一个非常简单的DSL,建在capybara之上,并有很多很酷的配置选项。