はてなブックマークから付けたタグの日計をとるrubyスクリプト
特に意味も無く,初めてrubyを使うついでに,題名のようなスクリプトを書いてみた.まぁ,要は,自分がはてなブックマークに登録したページに付けたタグの集計(日計)を取るというものです.rubyってのは,不思議な言語ですね.シンタックスシュガーっていうんですかねー,よくわからんときがあります.制御構文でさえ.でもまぁ,慣れれば,使いやすそうですけど.toeucがあっさり使えるのはびっくりした.これって,Aspect志向的な何かなのかなぁ
.
#!/usr/bin/rubyrequire 'rubygems'
require 'hpricot'
require 'open-uri'
require 'kconv'urls=Array.new(14) #これを取得したいページ数に変えてください
htbl = Hash.new()
i=0
while i < 14 #これを取得したいページ数に変えてください
url="(ここをはてなブックマークのURLにしてください)?of="+(i*50).to_s
i=i+1doc = Hpricot( open(url).read )
(doc/"dl.bookmarklist").each do |bookmarklist|
subject=(bookmarklist/"a.bookmark").inner_html.toeuc#puts subject+"¥n"
ts=(bookmarklist/"dd.timestamp").inner_html.toeuc
if !htbl.key?(ts) then
htbl[ts]=Hash.new()
end(bookmarklist/"span.tag").each do |tag|
tag_hash=htbl[ts]
tag=(tag/:a).inner_text.toeuc
if tag_hash.key?(tag) then
count=tag_hash[tag]
count+=1
tag_hash[tag]=count
else
tag_hash[tag]=1
end
end
end
endresult_tbl = htbl.to_a.sort{ |a, b|
(b[0] <=> a[0])
}
result_tbl.each do |key, value|
puts "#{key}:¥n"
each_tag_hash=value
each_tag_hash.each_pair do |tkey, tvalue|
print "#{tkey}:"
j=0
while j<tvalue
j=j+1
print "*"
end
puts "¥n"
end
puts "¥n¥n"
end
とまあ,実行すると...
2007年06月08日:
smalltalk:*
prolog:*
scheme:*
free:*******
pascal:*
caml:*
lisp:*
flash:*
2007年06月07日:
tips:*
firefox:*
todo:*
gmail:*
calender:*
2007年06月01日:
blogseed:*
2007年05月25日:
英語:*
blogseeddone:*
mpi:*
2007年05月22日:
blogseed:**
2007年05月21日:
blogseed:*
2007年05月17日:
ノートパソコン:*
2007年05月14日:
不動産:**
ノンリコース:*
投資:**
2007年05月13日:
夜泣き:*
夜鳴き:*
釣り:*
光環境:*
裁き方:*
料理:*
魚:*
こんな感じに出力されます.将来自分がどんな感じだったか思い出せると.