FeedNormalizerでRSSを取得するコード。一応Atomも取れる。
このコードではタイトル、日付、URLのみをハッシュで返すようにしてます。
require 'kconv' require 'feed-normalizer' # RSSを取得してタイトル、日付、URLをハッシュで返す def rss_parse rss feed = FeedNormalizer::FeedNormalizer.parse(open(rss)) feed.entries.reject{|x|x.title=~/^PR:/}.map{|e| {:title => e.title.toutf8, :url => e.url, :date => e.date_published} } end # 確認するブログたち urls = [ "http://nanjolno.jugem.jp/?mode=rss", "http://rssblog.ameba.jp/toyosakiaki-blog/rss20.xml", "http://blog.excite.co.jp/endo-aya/index.xml", "http://blog.excite.co.jp/amisketch/index.xml", "http://www.tamurayukari.com/diary/atom.xml", "http://blog-edge.com/uedakana/?mode=rss", "http://sora0v0blog.blog81.fc2.com/?xml", "http://blog.livedoor.jp/ceruleanblue622/atom.xml", "http://emasama.cocolog-nifty.com/blog/rss.xml", "http://yaplog.jp/asumibiyori/index1_0.rdf", "http://gree.jp/goto_saori/blog/d86521cfa2e34efbb4d1f190cce79c3c.rdf", "http://misato.idt.jp/cgi-bin/sfs6_diary/sfs6_diary_rss.cgi", "http://blog.mizukinana.jp/blog_nana/index.xml", "http://aoitown.com/cgi-local/aoiblog/diary.cgi?mode=rss", "http://blog.geneon-ent.jp/orikasa/index.rdf", "http://rss.exblog.jp/rss/exblog/matsukimiyu/index.xml", ] urls.map{|u|pp rss_parse(u)}
タイトルが文字化けするブログがあったのでkconvで変換。
kconvって一般的なんですかね。
もっと良い方法があったら、ぜひ教えて下さい。
日付がdate_publishedに格納されてないブログが稀にあります。
このコードではそれは無視してます(確かlast_updatedとかに入ってます)。
あとアメーバの広告を抜いてます(rejectのところ)。アレうっとおしいよね。