2016-09-28 6 views
0

以下は、特定のアカウント(この場合は@hudsonci)のtwitterフォロワーを取得するための作業コードです。Tweepy - アカウント制限の問題の全フォロワーを取得

私の問題は、これらのフォロワーすべてを引き込むのにかかる時間です。このアカウントには、特に約1,000人のフォロワーがいます...私は一度にレート制限を制限するだけで300に達することができます。したがって、このアカウントの全フォロワーを取得するには1時間以上かかることがあります。私はこれが大きな口座のためにお尻に大きな痛みになると想像することができます。

私はこれを改善する方法についていくつかの提案を探しています。私はページ区切りカーソルをフルに活用していないように感じますが、わかりません。

ご了承ください。

#!/usr/bin/env python 
# encoding: utf-8 

import tweepy 
import time 

#Twitter API credentials 
consumer_key = "mine" 
consumer_secret = "mine" 
access_key = "mine" 
access_secret = "mine" 


#authorize twitter, initialize tweepy 
auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
auth.set_access_token(access_key, access_secret) 
api = tweepy.API(auth) 

def handle_errors(cursor): 
    while True: 
     try: 
      yield cursor.next() 
     except tweepy.TweepError: 
      time.sleep(20 * 60) 

for user in handle_errors(tweepy.Cursor(api.followers,screen_name='hudsonci').items()): 
    print user.screen_name 

答えて

1

the Twitter documentation for followersあたりとして、あなたはcountパラメータを使用する必要があります。

IDを取得しようとする回数を、個別要求ごとに最大5,000件まで指定します。

したがって、count=5000を追加すると役立ちます。 ` そして、私はまだだけで300を取得しています:

+0

はhandle_errors内のユーザー(tweepy.Cursor(api.followers、SCREEN_NAME = 'hudsonci'、= 5000カウント).items())のために' が含まれるようにスクリプトを変更しました一度にフォロワー。カウントは間違った場所にありますか?私はここで非常にシンプルなものを逃しているように感じる。 – hansolo

関連する問題