feed-normalizer

sudo gem install feed-normalizer

feed-normalizerはsimple-rssなど色々を使ってatomrssなんでも共通のデータ構造にしてくれるらしい。OpenFastladderの中で使っていた。

#!/usr/bin/env ruby
require 'rubygems'
require 'feed-normalizer'
require 'open-uri'
require 'cgi'
require 'kconv'
require 'pp'
uri = ARGV.shift || 'http://shokai.org/blog/feed/'

puts "parse #{uri}"
feed = FeedNormalizer::FeedNormalizer.parse open(uri)

puts "title: #{feed.title}"
puts "(#{feed.entries.size}entries)"

#feed.clean!
feed.entries[0..3].each{ |e|
  puts e.url
  puts e.content.toutf8
  puts e.last_updated
  puts ''
}
pp feed.entries[0]
parse http://twitter.com/statuses/user_timeline/3801401.rss
title: Twitter / dnp
(20entries)
http://twitter.com/dnp/statuses/1032047973
dnp: 郡山は何もわかっていない。そのニヒリズムとかシニカルなところをはやくすてなさい。
Mon, 01 Dec 2008 19:41:25 +0900

http://twitter.com/dnp/statuses/1032047180
dnp: しかし@koriyamaは@ism_yからはみとめられていない。
Mon, 01 Dec 2008 19:40:26 +0900

http://twitter.com/dnp/statuses/1032046747
dnp: @koriyama はだいぶわかってきた。
Mon, 01 Dec 2008 19:39:58 +0900

http://twitter.com/dnp/statuses/1032046629
dnp: 郡山さんってわたし友達でしたっけ
Mon, 01 Dec 2008 19:39:51 +0900