Ruby Twitterでフォロワーやスクリーン名を取得するサンプル


スポンサーリンク

前の記事などにRubyでtwitterアプリを作る際の準備などを書いたのですが、その続きです。
今回はRubyのtwitterライブラリを使って、あるユーザのフォロワーの名前、説明文、そしてスクリーン名(@から始まるユーザの名前)を取得してみます。

サンプルは以下のとおりです。

# encoding:utf-8


require 'rubygems'
require 'twitter'

OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

client = Twitter::REST::Client.new do |config|
  config.consumer_key = "XXXXX"
  config.consumer_secret = "XXXX"
  config.access_token = "XX-XXXX"
  config.access_token_secret = "XXXXX"
end

followers_list = client.followers("asai_shoichiro")
friends_list = client.friends("asai_shoichiro")

followers_list.each{|follower|
  puts "***** screen_name *****"
  puts follower.screen_name
  puts "***** name *****"
  puts follower.name
  puts "***** description *****"
  puts follower.description
}

省略しますが、結果としてはこんな感じで取得することができます。

***** screen_name *****
sachico0904
***** name *****
さち
***** description *****
ワクワクする音楽が大好物。気が向いたときだけ写真撮ってます。
***** screen_name *****
cat__stream
***** name *****
みゆ@キャットストリーム
***** description *****
インフラエンジニアをやっている みゆ(MiYu)です。 おしゃれなカフェが大好き♡国内初の月額定額制CDNやストリーミング配信サービスを展開中のキャットストリームを運営しています♪

しかし、終わり際で、

Rate limit exceeded (Twitter::Error::TooManyRequests)

というエラーが出てしまっています。
これは、ツイッターのAPIに何度も何度もリクエストを投げてしまったときに出るエラーで、もしかしたらこのやり方は、リクエストを投げすぎている非効率なやり方なのかもしれません。

いじっていくうちに、解決策を探ってみます。