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

[ruby]Twitterのfollowersと同じIDの人がWassrにどれくらいいるのかを調べるスクリプト

cojiさんがWassrでつぶやいていたのできまぐれに書いてみた

require 'open-uri'
require 'rubygems'
require 'pit'
require 'hpricot'

TWITTER_API = URI('http://twitter.com/statuses/')
WASSR_API   = URI('http://api.wassr.jp/statuses/')

twitter_account = Pit.get('twitter.com', :require => {
  :username => 'please set your username',
  :password => 'please set your password',
})

followers = []
page = 1
loop do
  results = Hpricot.parse(open(TWITTER_API + "followers.xml?page=#{page}", :http_basic_authentication => [twitter_account[:username], twitter_account[:password]]).read)
  this_page_followers = results.search('//user/screen_name').map {|sname| sname.inner_text }
  break if this_page_followers.empty?

  followers.concat(this_page_followers)
  page += 1
  sleep(5)
end

p followers.select {|login_id|-
  status = open(WASSR_API + "show.rss?id=#{login_id}").read
  sleep(5)
  status != ""
}

購読APIはあった方がこういうときに便利かなと思いました。

http://coderepos.org/share/browser/lang/ruby/misc/twitter_followers_in_wassr.rb

に入れてありますので[これはひどい]ところがあれば直していただけると幸いです。