読者です 読者をやめる 読者になる 読者になる

Twitter Streaming APIで日本語のつぶやきを取得

Spritzerを使用。json使ってる。
Spritzerは大体1時間あたり30000postくらい流れてくるけど、日本語のつぶやきは500postくらい?

require 'net/http'
require 'uri'
require 'json'
Net::HTTP.version_1_2

id, pass = 'id', 'pass'
uri  = URI('http://stream.twitter.com/spritzer.json')
str = ""
http = Net::HTTP.start(uri.host, uri.port)
req = Net::HTTP::Get.new(uri.request_uri)
req.basic_auth id, pass
http.request(req) do |res|
    res.read_body do |body|
        str = str + body
        until (i = str.index("\r\n")).nil?
            j = JSON.parse(str.slice!(0, i + 2))
            puts "#{j['user']['screen_name']}:#{j['text']}" if /[ぁ-んァ-ヶ]/ =~ j['text']
        end
    end
end

追記
f:id:YarmUI:20090716025307p:image
一発で流れてきた