鬼っ子FeedTools
今日もRSSフィードで遊ぶために,RubyForgeめぐり.試しにRubyForgeをfeedで検索してみ,もっすご見つかるから.迷うから.
で,今回選んだのはFeedTools.
http://rubyforge.org/projects/feedtools/
結構活発なプロジェクトなので,かなり期待できる.
けっこう粋
After installation, you will either need to run in non-caching mode or set up a caching mechanism.
ということで,なんとDBと連携してフィードをキャッシュできるという.migrationでそのまま使えるDBスキーマも用意されていて,中身は/path/to/your/gems/feedtools-*/db/migrate.rbに置いてある.ちなみにそのスキーマは
- href :string
- title :string
- link :string
- feed_data :text
- feed_data_type :string
- http_headers :text
- last_retrieved :datetime
こんだけある.
使おう
楽しそうなので使ってみる.キャッシュ云々はめんどくさいので「あとで書く*1」
>> require 'feed_tools' >> feed = FeedTools::Feed.open('http://omochist.vox.com/library/posts/atom .xml') >> feed.title >> puts feed.title "mochi"[0..1].sub(/m/,"x").concat("v").reverse >> puts feed.description アルファギークになりたい! >> puts feed.link http://omochist.vox.com/library/posts/page/1/ >> puts feed.items.class Array # ニヤリ >> feed.items.each do |item| >> puts item.title 1> end フルフェイス ワニトカゲギス目は結構カッコいい 21歳になったようです Happy Halloween 11月 はじめまして
やっべ,これ鬼っ子だ.鬼のように使いやすい.今まで使ったRSS系のGemで間違いなくトップだよ.
バグ?仕様?
上のはVoxのAtomを読み込ませたんだけども,ちゃんとEnclosureが取れてないみたい.
>> item = feed.items.first >> puts item.enclosures.size 0
画像は何処行った?
試しにYouTubeのRSSからEnclosureが取れるか試してみたら,取れた.
>> youtube = FeedTools::Feed.open('http://youtube.com/rss/global/recently _added.rss') >> item = youtube.items.first >> puts item.enclosures #<FeedTools::Enclosure:0x242bb9c> >> puts item.enclosures.first.link http://youtube.com/v/-4ywdKdooVA.swf
とまぁこのように.活発なプロジェクトなんで,これからなんとでも改良されるでしょう!気長に待つお(^ω^)
感想
良いよコレは相当良いよ.もともとはid:hakobe932:20061103:1162574853のfeedparserにインスパイアされて探してみたんだけど,想像以上だった.積極的に使っていこうと思う.
*1:ゴメン,誰か書いて