« 挺好的Tween! | トップページ | ふぁぼられグラフ »

2008年2月 3日 (日)

hpricotでふぁぼったーをパースしてみた

ono_matope  さんの作られた ふぁぼったー  が面白いです。

API公開等はないようですので、
hpricotでふぁぼったーをパースしてみました。
とりあえず、
特定のアカウントの発言が誰に何回favられているか集計するものを作ってみました。
他にもイロイロできそうな気がします。

----
require 'rubygems'
require 'hpricot'
require 'net/http'
Net::HTTP.version_1_2

# const
Address = 'favotter.matope.com'
Path1 = '/user.php?user='
Path2 = '&mode=new&page='

if ARGV.length == 0 then
  printf("usage: ruby favo.rb account [max_page]\n")
  exit
end
if ARGV.length < 2 then
  max_page = 20
else
  max_page = ARGV[1].to_i
end

counter = {}
counter.default=0

# parse
path = Path1+ARGV[0]+Path2
i = 1
skip_flag = false
while i<max_page
  path = Path1+ARGV[0]+Path2+i.to_s
  Net::HTTP.start(Address){|http|
    response = http.request_get(path)
    body = response.body
    doc = Hpricot(body)
    doc.search("div[@class~='info']").each{|div|
      # 2ページ目以降の最初の発言は、前のページの最後と重複しているので、スキップする。
      if skip_flag == false then
        div.search('img').each{|img|
          counter[img['title']]+=1
        }
      else
        skip_flag = false
      end
    }
  }
  i+=1
  skip_flag = true
end

# output
counter.each{|key, value|
  printf("%s, %s\n", key, value)
}

----

現時点で、一番僕の発言をふぁぼってくれたのは KuenFu  さんの47個、
次は hatron  さんの35個、
その次は katoyuu  さんの30個でした。

|

« 挺好的Tween! | トップページ | ふぁぼられグラフ »

twitter」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/464804/10221809

この記事へのトラックバック一覧です: hpricotでふぁぼったーをパースしてみた:

« 挺好的Tween! | トップページ | ふぁぼられグラフ »