skip to main |
skip to sidebar
Twitter Stream Ruby
#!/usr/bin/env ruby
# coding: utf-8
require 'net/http'
require 'uri'
require 'rubygems'
require 'json'
USERNAME = '' # ここを書き換える
PASSWORD = '' # ここを書き換える
uri = URI.parse('http://stream.twitter.com/spritzer.json')
Net::HTTP.start(uri.host, uri.port) do |http|
request = Net::HTTP::Get.new(uri.request_uri)
# Streaming APIはBasic認証のみ
request.basic_auth(USERNAME, PASSWORD)
http.request(request) do |response|
raise 'Response is not chuncked' unless response.chunked?
response.read_body do |chunk|
# 空行は無視する = JSON形式でのパースに失敗したら次へ
status = JSON.parse(chunk) rescue next
# 削除通知など、'text'パラメータを含まないものは無視して次へ
next unless status['text']
user = status['user']
puts "#{user['screen_name']}: #{status['text']}"
end
end
end
No comments:
Post a Comment