ゆの まとめ用スクリプト
ブクマからキーワードページのテーブルにするやつ
require "rubygems"
require "mechanize"
require "active_support"
require "time"
@ua = WWW::Mechanize.new
puts "|*言語|*リンク|"
begin
results = []
uri = "http://b.hatena.ne.jp/cho45/atomfeed?tag=%E3%82%86%E3%81%AE%20in%20language"
loop do
begin
warn uri
@ua.get uri
doc = XmlSimple.xml_in(@ua.page.body)
raise "Bug?" unless doc["entry"]
results.concat doc["entry"]
next_link = doc["link"].find {|link| link["rel"] == "next" }
break unless next_link
uri = next_link["href"]
rescue RuntimeError
sleep 1
retry
end
end
results.map! {|entry|
entry.update("lang" => entry["subject"] - ["ゆの", "language", "ゆの in language", "ひだまりスケッチ"])
}
results = results.sort_by {|entry| [entry["lang"], entry["issued"]] }.map { |entry|
warn entry["subject"].inspect
"|%s|[%s:title]|" % [
entry["lang"],
entry["link"].find {|link| link["rel"] == "related" }["href"],
]
}
raise "Bug?" if results.uniq!
rescue RuntimeError
sleep 1
retry
end
puts resultsなんかちゃんとフィードがとれないことがあるのでチェックかけてリトライしてる。