2017-04-08 10 views
1

私はちょうどtweepyを使ってPythonで単純に 'grab followers'スクリプトを書いています。スクリプトを実行すると、すべて正常に動作します。それは何が必要なのか。私はレートが非常に重く制限されていますが。ほとんど瞬時に、それはようです。このTweepyスクリプトでレートが制限されているのはなぜですか?

私はtweepyで他のスクリプトを実行しています。地獄です。これまでにレート制限を受ける前に、800個近くのアカウントのつぶやきを削りました。複数回も。

誰かがこれにいくつかの光を当てることができますか?マイアカウントであっても、単にそれが終了してみましょうしようとしているため、最後の夜、一時、中断されました: - \

import tweepy 

APP_KEY = '' 
APP_SECRET = '' 
result = [] 

auth = tweepy.AppAuthHandler(APP_KEY, APP_SECRET) 

api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True) 

if not api: 
    print "Didn't Authenticate!" 
    sys.exit(-1) 

def get_followers(screen_name, filename): 
    result = [] 

    for page in tweepy.Cursor(api.followers_ids, screen_name=screen_name).pages(): 
     result.extend(page) 

    write_to = open(filename, 'w') 

    for num in result: 
     name = api.get_user(num) 
     write_to.write(str(name.screen_name) + '\n') 

    write_to.write(str(len(result))) 
    write_to.close() 

user_input = raw_input('Please enter Twitter name to get followers, or hit enter to use default file:') 

if len(user_input) == 0: 
    user_input = 'names.txt' 

    for name in user_input: 
     file_name = str(name) + '.txt' 
     get_followers(name, file_name) 

else: 
    file_name = str(user_input) + '.txt' 
    get_followers(user_input, file_name) 

答えて

3

あなたはfollowers/idエンドポイントを使用しています。レート制限は、15分のウィンドウで15リクエストです。 docs hereを参照してください。毎分1回リクエストをしてみてください。

+0

うわー、それはかなり低いしきい値です。リンクありがとう。 –

+0

'count'パラメータを5000に設定すると役立ちます。興味深いもの: – Jonas

+0

基本的に、私はとても多くの電話をする必要はありませんか? 私は実際に少し修正しましたので、idをscreen_nameにもう変換する必要はありません。とにかくそれは馬鹿げたものだった。 –

関連する問題