【问题标题】:Screen Scraping in Rails 3Rails 3 中的屏幕抓取
【发布时间】:2012-02-15 14:39:22
【问题描述】:

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

【问题讨论】:

  • IMO Nokogiri 是可用于任何语言的最佳抓取库。也许你应该告诉我们它没有你想要的东西。
  • @pguardiario:Nokogiri 是最好的,我同意。

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


【解决方案1】:

您还可以使用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"
 # }

【讨论】:

    【解决方案2】:

    如果这是一次性任务,或者如果您的目标数据集相对较小(不到一百页),请使用 Mechanize(浏览和抓取)或 Anemone(执行 Mechanize 所做的任何事情 + 一些额外的抓取- 特定选项)。

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 2011-02-20
          • 2012-11-21
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多