Rails中的屏幕刮擦3

时间:2012-01-21 07:31:39

标签: ruby ruby-on-rails-3 screen-scraping nokogiri

Rails 3中有哪些屏幕抓取选项 - gem / library?我过去曾使用过Nokogiri但只是想知道Rails 3中是否有更好的选择。

4 个答案:

答案 0 :(得分:2)

如果这是一次性任务,或者您的目标数据集相对较小(少于几百页),请使用Mechanize(浏览和刮擦)或Anemone(做任何机械化) +一些额外的特定于抓取的选项。)

如果您需要自动化此集合,或者如果您要处理大型数据集,请考虑使用Web服务。 Bobik在这个桶中是个不错的选择。

答案 1 :(得分:1)

Rails不进行屏幕抓取。您可以自由地使用可以添加该功能的Ruby代码,但它本身可以生成页面。

在内部使用Nokogiri的Mechanize是一个不错的选择,否则我总是使用Nokogiri和OpenURI自行推出。

答案 2 :(得分:0)

在精彩的RubyTools网站中,您可以找到多个Ruby libraries to parsing HTML。 Nokogiri仍然是最受欢迎的。

答案 3 :(得分:0)

您还可以使用Scrapifier gem从字符串中找到的URI中获取元数据。它使用起来非常简单:

'Wow! What an awesome site: http://adtangerine.com!'.scrapify

 #=> {
 #   title:       "AdTangerine | Advertising Platform for Social Media",
 #   description: "AdTangerine is an advertising platform that uses the tangerine as a virtual currency for advertisers and publishers in order to share content on social networks.",
 #   images:      ["http://adtangerine.com/assets/logo_adt_og.png", "http://adtangerine.com/assets/logo_adt_og.png", "http://s3-us-west-2.amazonaws.com/adtangerine-prod/users/avatars/000/000/834/thumb/275747_1118382211_1929809351_n.jpg", "http://adtangerine.com/assets/foobar.gif"],
 #   uri:         "http://adtangerine.com"
 # }