おぎやす広辞苑の最新の日記
<< 前の日記へ 一覧を見る 次の日記へ >>

 

RubyでRSSを読み込んで表示

ぶっちゃけRuby良くわからない。

だけど、こんな事がしたかったんだな。

  • あるブログのRSSを取得
  • それをRailsで動いているあるページ内で、レイアウトを整えて表示


ってことで、いろいろ調べてた。

Ruby RSS取得

って調べたら色々出てきた。

お、これなんかいけそうじゃね?

http://d.hatena.ne.jp/akio0911/20080127/1201412414

と思ってそのまま使ってみたんだけど、なんか取得したRSSがまんま表示される。

いや、俺はtitleとdescriptionとlinkだけが欲しいんすよ。

しかもrhtml内に書き込むんで、ちょっと書き方違うっぽいな。

ってことで、頑張って書き換えてみた。

多分見る人が見たら、なんだこれって思うかもw

なんとなく無理やり・非効率な感じがしそう。

<% require 'rss'
require 'open-uri'

open('http://mindia.jp/book/ogiyasu/rss/type/keyword.rdf') do |http|
  response = http.read

  result = RSS::Parser.parse(response, false)

  result.items.each_with_index do |item, i|
%>

<% if i < 5 %>
<h2><span style="color:#666;"><%= item.dc_date.strftime("%Y-%m-%d") %></span> <%= item.title %></h2>
<p><%= item.description %></p>
<% end %>
<% end %>
<% end %>


とりあえず苦戦したとことしては、dc_dateのとこ。
titleとdescriptionは普通に取得できたんだけど、どしてもdcのdateが取得したかった。

結局

require 'rss/2.0'
require 'rss/1.0'

だと取得できなかったけど、

rquire 'rss'

だと取得できたぞー。

あと、ぶっちゃけrhtml内で<% end %>とかループとかよくわからん!

まぁ、結果オーライってことで。

コメント

コメントはまだありません

コメントできません (ログインするとコメントできます)