ユーザIDだけなら1回で5000人分取得できますが、IDをだけでは誰が誰やら分かりません…
ユーザ情報として取得するには1回に200人分が限界です。
200人以上のフォロワーがいる場合は、何回かに分けて取得する必要がありますが、そのためにパラメータとしてcursorを指定する必要があります。
cursorは、-1で先頭ページを指します。
Twitterのカーソルについては、別途詳しく紹介しているサイトを見ていただくとして、tweepyには、カーソルを扱うためのオブジェクトがあります。
今回は、カーソルオブジェクトを使って、フォロワー情報を取得する方法を紹介します。
import tweepy
from tweepy.error import TweepError
CONSUMER_KEY = '(コンシューマキー)'
CONSUMER_SECRET = '(コンシューマシークレット)'
ACCESSS_TOKEN = '(アクセストークン)'
ACCESS_SECRET = '(アクセストークン シークレット)'
if __name__ == '__main__':
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESSS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
try:
pos = 1
for user in tweepy.Cursor(api.followers, count=200, cursor=-1).items():
print(str(pos) + ":" + user.screen_name + "(" + str(user.name) + ")")
pos += 1
except TweepError as e:
print(e.reason)
Cursorオブジェクトは、第一引数に実行するメソッドを、第二引数以降にメソッドの引数を指定します。
ここでは、フォロワー情報の取得メソッドfollowersを第一引数に、followersメソッドの引数であるcountとcursorを第二引数以降に指定して、Cursorオブジェクトのitemsメソッドを実行します。
itemsメソッドはイテレータとして動作しますので、userオブジェクトのリストが取得されます。(16行目)
ただし、followersメソッドのリミットを超えるとTweepErrorが発生しますので、フォロワーさんが多い場合は、違う方法でフォロワー情報を取得する必要がありますね。