三日間RSSリーダークッキング その1 RSSライブラリ

RAAを眺めたところ、rss parser (http://www.cozmixng.org/~rwiki/?cmd=view;name=RSS+Parser%3A%3AREADME.ja)が使い易そうだったので試してみることにする。

  • RSS 0.9x/1.0/2.0が使える
  • 日本語ドキュメントがある

のがポイント高い。なんだかんだいってドキュメントがあるのとないのとでは敷居の高さが全然違いますね。

というわけで、チュートリアル参照しつつさっくりテストプログラムを書いてみた。

require 'open-uri'
require 'rss/1.0'
require 'rss/2.0'

$KCODE = 'e'
rss_source = open(ARGV.shift).read
begin
  rss = RSS::Parser.parse(rss_source)
rescue RSS::InvalidRSSError
  rss = RSS::Parser.parse(rss_source, false)
end

rss.output_encoding = "EUC-JP"
rss.items.each do |item|
  puts "#{item.title} : #{item.description}"
end

引数にRSSのあるURIを指定して実行すると、タイトルと説明を羅列します。おー なんかとれてる。すばらしい。文字コードにも気をまわしてくれているあたり、細かい気配りがゆきとどいていていいですね。