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に何度も何度もリクエストを投げてしまったときに出るエラーで、もしかしたらこのやり方は、リクエストを投げすぎている非効率なやり方なのかもしれません。
いじっていくうちに、解決策を探ってみます。