RSS RSS
T氏の記事
2010.03.12
カテゴリ:

rubyでRSSを取得する

こんにちは。T氏です。

今日はrubyでRSSを取得する方法をご紹介します。

rubyにはRSSを取得するためのクラスが用意されているため、それを使ったサンプル

を作成しました。

クラスは [RUBY_HOME]/rss/**.rb に色々と用意されています。

※rubyは1.8.7 を使っています。

 

 

# sample.rb
class Sample
  require 'rss'
  require 'uri'

  attr_accessor :title, :description, :link, :published_at

  def initialize
    @title = nil
    @description = nil
    @link = nil
    @published_at = nil
  end

  def self.get_rss(rss_url)
begin
      ary = []
      unless rss_url.nil?
        rss_results = ""
        url = URI.parse(rss_url).normalize
        open(url) do |http|
          response = http.read
          rss_results = RSS::Parser.parse(response, false)
          rss_results.items.each do |item|
            obj = self.new
            obj.title = item.title
            obj.description = item.description
            obj.link = item.link
            obj.published_at = item.date
            ary << obj
          end
        end
      end
      return ary
    rescue => e
      raise e
    end
  end

end

 

さて、実際に使ってみましょう。

ここではDoRuby!記事のRSSを取得しています。

 
$ irb -Ku
irb(main):001:0> require 'pp'
irb(main):002:0> require 'sample'
irb(main):003:0> rss = Sample.get_rss('http://doruby.kbmj.com/t_article/20091118/Rake_/feed')
irb(main):004:0> pp rss
[#   "こんにちは。T氏です。今日は自作のRakeタスクを追加する方法をご紹介します。 ",
  @link="http://doruby.kbmj.com/t_article/20091118/Rake_",
  @published_at=Wed Nov 18 10:00:00 +0900 2009,
  @title="Rakeタスクを追加する">,
 #  @description=
   "こんにちは。T氏です。 最近は、ようやくRailsの開発にも慣れてきました。慣れてくると、
Rails以外のフレームワークも使ってみたいな、なんて思ったりします。 そこで、以前から
気になっていたMerbのインストールから起動までをご紹介したいと思います。 \n",
  @link="http://doruby.kbmj.com/t_article/20090915/Merb_1",
  @published_at=Tue Sep 15 19:00:00 +0900 2009,
  @title="Merbを使ってみる">,
 #  @description=
   "こんにちは。T氏です。\n\n今日はRailsのエラー画面(public/404.htmlや500.html)への遷移は
どうやってされているかをご紹介します。",
  @link="http://doruby.kbmj.com/t_article/20090604/Rails_",
  @published_at=Thu Jun 04 19:47:37 +0900 2009,
  @title="Railsのエラー画面への処理を読む">,
 #  @description=
   "はじめまして!KBMJでエンジニアをやっているT氏です。初投稿の今回は、rakeコマンド
についてご紹介したいと思います。*rakeとは・・・ビルドツール(AntやMake等)のruby##の事    ",
  @link="http://doruby.kbmj.com/t_article/20090317/_rake_1",
  @published_at=Tue Mar 17 18:10:00 +0900 2009,
  @title=
   "Ruby on Railsでrakeコマンドを使って様々なタスクを実行しよう">]
irb(main):005:0> exit
 

 

無事に取得出来ましたね。

皆さんも試してみてはいかがでしょうか。

 

ブックマークに追加する

.
web開発ならKBMJ
Rubyでのwebシステム開発は
実績豊富なKBMJにお任せ下さい
iPhone開発
iPhone開発は
KBMJにお任せ下さい
ブラウザゲーム エインヘリアル
ブラウザゲーム「エインへリアル」
サービス中
オープンソースECパッケージ エレコマ
オープンソースECパッケージ
「エレコマ」
Google Analytics徹底活用スクール
レベルに合わせた
実用的な活用スキルを徹底指導。
好評定期開催中です!

プロフィール

T氏
T氏
はじめまして。T氏です。

主にRuby on Railsに関する記事を投稿していこうかと思います。
よろしくお願いします。

最近チェックした記事

最新記事

アーカイブ

アクセスランキング

KBMJのWebソリューション
Ruby on railsの開発ならKBMJ
株式会社ケイビーエムジェイ