2008-03-23
Ruby: RSSの操作
例によって便利なモジュールが用意されています。もちろんRSSを扱うのは初めてなんですけど、かなりやさしいです。open-uriで対象ページのRSSを取得して、rssオブジェクト生成すれば後はやりたいほうだいです。(邪道かどうかは知りませんが。)
とりあえず、試しに書いたdeliciousのpopularのRSSからサムネイル付きのリンク一覧を生成するスクリプトを載せます。
#!/usr/bin/ruby -w
require 'rss'
require 'open-uri'
# SimpleAPI
thumb = "http://img.simpleapi.net/small/"
# get rss
uri = URI.parse("http://del.icio.us/rss/popular")
rss_source = uri.read
# header
print "Content-Type: text/html\n\n"
print <<HEADER
<html>
<head>
<title>RSS Usage</title>
</head>
<body>
HEADER
rss = RSS::Parser.parse(rss_source, false)
rss.items.each do |item|
puts '<a href="' + item.link + '"><img src="' + thumb + item.link + '"></a>'
puts '<a href="' + item.link + '">' + item.title + '</a><br>'
end
puts <<FOOTER
</body>
</html>
FOOTER
まあ実際に使うとなるとバリデーションとかに気を配ったりとかでもう少し大変になるとは思いますが、自分専用のRSSリーダーとかだったら楽勝で作れそうですねー(やらんけど)。一応サンプルをここに置いときます。