twitterのpost数をカウントする

 大学の課題の一つが数値的に酷い問題でした(挨拶)

 twitterの1日のpost数ってどうやって調べるのが一番良いのでしょうかね。地道に数えるという無謀なことをしたり、または何処かのサイトで調べられるのか。もし調べられるサイトがあったら教えて欲しいのですが、今回はRubyで書いてみました。

#!/usr/bin/ruby
require "net/http"
require "uri"
require 'date'

#ユーザー名。テキトーに入れてみる。
user = "User"
#取得したい日付。たぶん2009/1/3とかでもいけるとハズ?
time = "2009-01-03"

#時間の設定。日本時間を取得するようにしてるハズ。
@date = []
24.times do |t|
	day = DateTime.parse(time) - Rational((9 - t), 24)
	@date << day.strftime("%Y-%m-%dT%H")
end
@date = Regexp.new(@date.join("|"))

data = []
#ページ番号
num = 1
start = false
while true
	htm =  Net::HTTP.get(URI.parse("
    http://twitter.com/#{user}?page=#{num}"))
	reg = /<span class="entry-content">(.*?)<\/span>
    .*?<span class="published" title="(#{@date}.*?)">/
	dat = htm.scan(reg)
	data += dat
	num += 1
	#一度に取得できたpostが20未満になったら終わりにする。
	break if (dat.length != 20 && start)
	#カウントする時間のpostが見え始めたらtrueにする。
	start = true if dat.length >= 1
end
#その日のpostを見たいときは入れてみる?
#puts data
puts data.length

おそらくこれでちゃんと取得できてるはずですかね?ちなみに実行結果。

119

 ということで現時点で今日は119postしているそうです。大晦日の日は155postしていたらしいです。あってるのかどうかがまだ微妙なんですけどね...。

 きょうはこのくらいで、では〜。