おぎやす広辞苑
mindia › おぎやす広辞苑 › 記事

RubyでRSSを読み込んで表示

おぎやす · 2009-10-09

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

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

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

Ruby RSS取得

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

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

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

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

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

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

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

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

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

>|ruby|
<% 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 %>

<%= item.dc_date.strftime("%Y-%m-%d") %> <%= item.title %>

<%= item.description %>

<% end %>
<% end %>
<% end %>
||<

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

結局

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

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

rquire 'rss'

だと取得できたぞー。

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

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

単語