本の感想一覧作成スクリプト
ブログ内の本の感想一覧を作ろうと思い、そのためのスクリプトを書いた。
以下、ソースコード。
require 'rubygems' require 'hpricot' require 'csv' CSV.open(ARGV[0], 'r') do |row| next unless row[2] =~ /hatena-asin-detail/ doc = Hpricot(row[2]) (doc/"div.section").each{|div| ptitle = div/"p.hatena-asin-detail-title" next if ptitle.size == 0 sectionname = (div/:h3/:a).first[:name] ptitle.each{|p| a = (p/:a).first title = a.inner_text asinlink = a[:href] asinlink =~ /http:\/\/d.hatena.ne.jp\/asin\/(\w+)\// asin = $1 article_url = "http://d.hatena.ne.jp/endor/#{row[0].split('-').join}/#{sectionname}" puts "[asin:#{asin}:image:small] <a href=\"#{article_url}\">#{title}</a> #{row[0]}" } } end
ダウンロードしたCSV形式の日記データから、asin:detail形式で書かれている部分を抽出して一覧のソースを吐きます。
Hpricot便利!
これを利用して作ったのがこちら>g:endor:keyword:本の感想一覧
実際には多少(かなり?)手作業で直しています。
実行にはHpricotが必要です。
利用される際はarticle_urlのidを適当に変更してください。