ruby で html から rss を生成
以前、java を使って html ページから rss を生成する例を公開した。
- http://youichi-kato.cocolog-nifty.com/blog/2006/09/nekohtml_rome_r_8150.html
nekohtml + rome で RSS を生成
同等のものを ruby で書いてみた。
java でつくるより ものすごく簡単にできる!
(おそらく 今後、java で同等のものを書くことはないだろう, ruby で書く事しか考えられない)
html を読んで、rss をつくるのは、たったこれだけで OK.
(ここでは "えんげきのぺーじ" というサイトの レビューページの rss を作成しています)
$ cat empe.rb
require 'rubygems'
require 'hpricot'
require 'open-uri'
require "rss"
require 'kconv'# http://dx.sakura.ne.jp/~nnn/play/itigyo/itigyo.cgi?cn=1000
# /htm/body/p/dl dt, dt# url = "itigyo.cgi.html" # for debug, test
url = "http://dx.sakura.ne.jp/~nnn/play/itigyo/itigyo.cgi?cn=1000"doc = Hpricot(open(url))
rss = RSS::Maker.make("2.0") { |maker|
maker.channel.about = "empe.rdf"
maker.channel.title = "itigyo"
maker.channel.description = "Empe Site"
maker.channel.link = urldoc.search('/html/body/p/dl').each { |row|
row.search('dt').each_with_index { |dt, index|
item = maker.items.new_itemitem.link = url
item.title = dt.inner_text
item.description = dt.next_sibling.inner_text
item.date = Time.now - 600 * index
}
}
}
puts rss.to_s.toutf8
本当は、
xfy Community Forum
http://www.xfytec.com/community/modules/newbb/viewforum.php?forum=22&sortsince=1000
の rss を生成したかったのだが。
ruby からの https アクセスが
certificate verify failed (OpenSSL::SSL::SSLError)
のエラーになるので、とりあえず保留。
(証明書を download して、ruby からそれを指定すればよさそうなのだが、方法がよくわからない...)
| 固定リンク
トラックバック
この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/184434/15530515
この記事へのトラックバック一覧です: ruby で html から rss を生成:
» HTMLはアフィリエイトの必修項目 [HTMLはアフィリエイトの必修項目]
HTMLとは、「Hyper Text Markup Language(ハイパーテキスト・マークアップ・ランゲージ)」の略で、ウェブページを作成するためのマークアップ言語です。 [続きを読む]
受信: 2007-06-23 20:25
» しゃべれども しゃべれども 映画 [映画DVD情報ナビ]
しゃべれども しゃべれども 映画は
シネスイッチ銀座、新宿武蔵野館、
シネ・リーブル池袋ほか全国にて5月26日公開です
[続きを読む]
受信: 2007-07-01 02:28
コメント