L
Lucas Carlson
I have just released a new library for Ruby:
http://simple-rss.rubyforge.org/
Simple RSS is a simple, flexible, extensible, and liberal RSS and Atom
reader for Ruby. It is designed to be backwards compatible with the
standard RSS parser, but will never do RSS generation.
The API is similar to Ruby's standard RSS parser:
require 'rubygems'
require 'simple-rss'
require 'open-uri'
rss = SimpleRSS.parse open('http://slashdot.org/index.rdf')
rss.channel.title # => "Slashdot"
rss.channel.link # => "http://slashdot.org/"
rss.items.first.link # =>
"http://books.slashdot.org/article.pl?sid=05/08/29/1319236&from=rss"
But since the parser can read Atom feeds as easily as RSS feeds, there
are optional aliases that allow more atom like reading:
rss.feed.title # => "Slashdot"
rss.feed.link # => "http://slashdot.org/"
rss.entries.first.link # =>
"http://books.slashdot.org/article.pl?sid=05/08/29/1319236&from=rss"
The parser does not care about the correctness of the XML as it does
not use an XML library to read the information. Thus it is flexible and
allows for easy extending via:
SimpleRSS.feed_tags << :some_new_tag
This library was inspired by Blagg
(http://www.raelity.org/lang/perl/blagg) from Rael Dornfest.
I hope you enjoy and find this useful.
http://simple-rss.rubyforge.org/
Simple RSS is a simple, flexible, extensible, and liberal RSS and Atom
reader for Ruby. It is designed to be backwards compatible with the
standard RSS parser, but will never do RSS generation.
The API is similar to Ruby's standard RSS parser:
require 'rubygems'
require 'simple-rss'
require 'open-uri'
rss = SimpleRSS.parse open('http://slashdot.org/index.rdf')
rss.channel.title # => "Slashdot"
rss.channel.link # => "http://slashdot.org/"
rss.items.first.link # =>
"http://books.slashdot.org/article.pl?sid=05/08/29/1319236&from=rss"
But since the parser can read Atom feeds as easily as RSS feeds, there
are optional aliases that allow more atom like reading:
rss.feed.title # => "Slashdot"
rss.feed.link # => "http://slashdot.org/"
rss.entries.first.link # =>
"http://books.slashdot.org/article.pl?sid=05/08/29/1319236&from=rss"
The parser does not care about the correctness of the XML as it does
not use an XML library to read the information. Thus it is flexible and
allows for easy extending via:
SimpleRSS.feed_tags << :some_new_tag
This library was inspired by Blagg
(http://www.raelity.org/lang/perl/blagg) from Rael Dornfest.
I hope you enjoy and find this useful.