2016-09-05 50 views
-1

tweepyをPythonで使用すると、ユーザー名とフォロワー数で1つのアカウントからすべてのフォロワーをリストする方法を探しています。 今、私はこのようにすべてのIDのリストを取得することができます。 TweepyとPython:すべてのフォロワーをリストする方法

ids = [] 
for page in tweepy.Cursor(api.followers_ids, screen_name="username").pages(): 
    ids.extend(page) 
    time.sleep(1) 

が、私は、ユーザー名と、すべてのIDのフォロワー数を得ることができないIDのリストと

、レート制限を超えているため... このコードをどのように完成させることができますか?

ありがとうございました!

答えて

4

REST APIでは、180 queries every 15 minutesが許可されています。ストリーミングAPIにも同様の制限があると思います。アプリケーションに厳密に当たらなくても、アプリケーションが最終的にブロックされるため、この制限に近すぎることは望ましくありません。 あなたの問題はレート制限と関係があるので、あなたのforループにスリープ状態にする必要があります。私はsleep(4)が十分であるはずだと思いますが、それは主に試行錯誤の問題です。値を変更して見てください。

sleeptime = 4 
pages = tweepy.Cursor(api.followers, screen_name="username").pages() 


while True: 
    try: 
     page = next(pages) 
     time.sleep(sleeptime) 
    except tweepy.TweepError: #taking extra care of the "rate limit exceeded" 
     time.sleep(60*15) 
     page = next(pages) 
    except StopIteration: 
     break 
    for user in page: 
     print(user.id_str) 
     print(user.screen_name) 
     print(user.followers_count) 
+0

お返事のためのすべての感謝の最初のような

何か!問題はそのためではない、これは私にフォロワーのすべてのIDのリストを与える。問題はそのIDを使用して、ユーザー名の相対的なフォロワーのリストを作成することです、すべての試行レート制限エラーを与えてください – davboc

+0

だから、あなたがしたいことは、特定のアカウントのフォロワーのすべてのIDを取得することですそれぞれがユーザー名とフォロワー数を取得する要求を送信しますか? – Efferalgan

+0

これは可能な解決策です...または同じループでそれを作る方法があるかもしれません、私は見つけることができません。もう一度お返事します – davboc

関連する問題