【问题标题】:Parsing Atom & RSS in Ruby/Rails?在 Ruby/Rails 中解析 A​​tom 和 RSS?
【发布时间】:2010-09-17 21:26:57
【问题描述】:

我正在寻找可以让我在 Ruby 和 Rails 中解析 A​​tom 和 RSS 的东西。我查看了标准 RSS 库,但是否有一个库可以自动检测它是什么类型的提要并为我解析它?

【问题讨论】:

标签: ruby-on-rails ruby rss atom-feed


【解决方案1】:

Googleage 揭示了一些事情。他们不能接受吗?

Simple RSS
Ruby-Feedparser

require 'simple-rss'
require 'open-uri'
rss = SimpleRSS.parse open('http://slashdot.org/index.rdf')
rss.channel.title # => "Slashdot"

【讨论】:

  • Simple-RSS 看起来不错,但已经 2 年没有更新了。 Feedparser 看起来也不错,但似乎没有 gem,它是 0.6。我希望会有一些更成熟的东西,通常是标准。
  • 我知道您对想要使用活跃项目的感受,但如果 R​​SS 和 RDF 规范最近没有太大变化,也许这些可以解决问题。 :)
  • 我会用 Simple RSS 试一试——但我真的很惊讶没有更好的解决方案——考虑到 web 2.0-y Ruby/Rails 和 RSS 是你认为的将它们结合起来会是一个不错的包。
  • 很有可能有特定于 Rails 的解决方案。不过,我还没有用谷歌搜索它。
  • SimpleRSS 存在编码问题,大约 1 年没有修复。
【解决方案2】:

如果您遇到糟糕的提要,您可能需要使用HPricot 来解析提要。

【讨论】:

  • 您是否选择了 Hpricot,我试过了,但无法从提要中获取所有信息。它的表现比 Nokogiri 更好,后者无法处理格式错误的提要。
  • 嗯,一两次,Hpricot 无法处理一些非常破碎的饲料,但除此之外,它一直对我来说工作正常。例如,我将它用于learnivore.com
【解决方案3】:

Feed Normalizer 看起来可能是个不错的选择

https://github.com/aasmith/feed-normalizer

【讨论】:

  • 它看起来像 feed-normalizer 包装了简单的 RSS,从安装它。我只是用它来搜索混合 Rss/Atom 提要的 OPML 文件 - 它似乎非常不可知论,我不知道也不关心它在看什么,这很适合我!
【解决方案4】:

Feedzirra 是更好的选择之一:http://www.pauldix.net/2009/02/feedzirra-a-ruby-feed-library-built-for-speed.html

当然,自从我写了它,我就有偏见。 :)

【讨论】:

  • 我同意。 Feedzirra 是最好的。真快。感谢 Paul Dix 提供了这个令人惊叹的图书馆。
  • 不幸的是,它的主动支持依赖在其最新版本(在 rails 2.3.8,而不是 3)上被破坏了。由于我没有使用 jruby,而且这个库使用本机扩展,所以对我来说没有 osgi。太糟糕了,Feedzirra 看起来很有希望....
  • 现在是feedjira吗?
【解决方案5】:

我喜欢使用 niokrigi 或 scrapi 来解析 atom/rss 提要中的 xml。 http://www.rubyinside.com/nokogiri-ruby-html-parser-and-xml-parser-1288.html

【讨论】:

    【解决方案6】:

    我尝试过 Feedzirra 和 SimpleRSS,我发现两者都很好用。不过 Feedzirra 速度更快,因此如果您正在寻找它的性能,那么 Feedzirra 会更好。

    【讨论】:

      【解决方案7】:

      看起来standart Ruby RSS library 在 2009 年还不存在?

      【讨论】:

      • P.S.:它对我不起作用,因为某些提要看起来不像 RFC。
      猜你喜欢
      • 2017-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-22
      相关资源
      最近更新 更多