Parsing Atom & RSS in Ruby/Rails?

2020-02-18 18:02发布

问题:

I'm looking for something that will let me parse Atom and RSS in Ruby and Rails. I've looked at the standard RSS library, but is there one library that will auto-detect whatever type of feed it is and parse it for me?

回答1:

Feedzirra is one of the better options: http://www.pauldix.net/2009/02/feedzirra-a-ruby-feed-library-built-for-speed.html

Of course, I'm biased since I wrote it. :)



回答2:

Googleage reveals some things. Were they not acceptable?

Simple RSS
Ruby-Feedparser

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


回答3:

If you meet crappy feeds, you may want to use HPricot to parse the feed.



回答4:

Looks like in 2009 the standart Ruby RSS library just didn't exist yet?



回答5:

Feed Normalizer looks like it may be a good option

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



回答6:

I like using niokrigi or scrapi for parsing the xml in the atom/rss feeds. http://www.rubyinside.com/nokogiri-ruby-html-parser-and-xml-parser-1288.html



回答7:

I have tried Feedzirra and SimpleRSS and I found that both work great. Feedzirra was faster though so if its performance you're looking for, you're better off with Feedzirra.