Home > Ruby > Rubyはじめました6:RSSファイルを手軽に見つける

Rubyはじめました6:RSSファイルを手軽に見つける

  • Posted by: zaru
  • 2007年12月10日 11:10
  • Ruby

ブログのRSSを解析するスクリプトを組もうと思って、ブログURIを入力したらソースを解析してRSSファイルを返す仕組みを作っていたら、もっと簡単なライブラリを見つけました。

net-discover

net-discoverを使えば、簡単にRSSファイルのURIを返してくれます。使い方は

require 'net/discover'
feeds = URI.parse(uri).discover_rss
feeds.each{|l|
	puts l #=> http://..../index.xml
}

これだけです。

ただ、なぜか取得できないブログがいくつかあったので net-discover のソースを見てみたところ

if attr['rel']=="alternate" &&
	attr['type']==/application/rss+xml/ &&
	href=attr['href']
	rss_uri = self + href
	list << rss_uri
end

と、 type="application/rss+xml" のものしか拾わないようになっていました。これじゃあ使えないので、微妙に改変。

if attr['rel']=="alternate" &&
	attr['type']=~/application\/(rss\+|atom\+|.*)xml/ &&
	href=attr['href']
	rss_uri = self + href
	list << rss_uri
end
  • application/xml
  • application/rss+xml
  • application/atom+xml

に対応するようにした。便利。とはいっても、ソースを解析して RSS ファイルを探す仕組みは手作業と全く同じなので、net-discover を使う事による解析スピードでのメリットはない…。

次はRSSを解析をしよう。

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://blog.tofu-kun.org/mt-tb.cgi/357
Listed below are links to weblogs that reference
Rubyはじめました6:RSSファイルを手軽に見つける from Webプログラマー+WebデザイナーなZARU日記

Home > Ruby > Rubyはじめました6:RSSファイルを手軽に見つける

Profile

zaru

Name : zaru

Webプログラマ+Webデザイナで、Webディレクタやってます。Twitterやっているので、ぜひフォローしてやってくださいませ。Twitter - zaru。また、そのほかのプロフィールについては、iddy - zaruを見てください。

Search
Feeds
Others

Return to page top