Ruby on Railsで、RSSを読み込む
RubyでRSSシリーズ最終回(笑)
外部のRSSを取り込んで、DBに格納するアクションを追加
def read url = params[:url] rss_source = nil open(url) {|u| rss_source = u.read } @rss = nil begin @rss = RSS::Parser.parse(rss_source) rescue RSS::InvalidRSSError @rss = RSS::Parser.parse(rss_source, false) end begin @channel = Channel.new @channel.title = @rss.channel.title @channel.description = @rss.channel.description @channel.link = @rss.channel.link @channel.save @rss.items.reverse.each do |i| @item = Item.new @item.channel_id = @channel.id @item.title = i.title @item.description = i.description @item.date = i.pubDate @item.link = i.link @item.save end rescue => @ex raise "Exception:#{@ex}" end end