2017-04-08 65 views
1

我只是在Python中使用tweepy編寫一個簡單的「抓取追隨者」腳本。當我運行腳本時,一切正常。做它需要什麼。雖然我受到很大程度的限制。看起來幾乎是瞬間的。爲什麼我被這個Tweepy腳本限制了速度?

我通過tweepy運行其他腳本,地獄我之前所率以前僅限刮近800個賬戶的tweet。甚至多次。

有人可以提供一些線索對此有何看法?我的帳戶甚至被暫停,暫時,昨晚只是試圖讓它完成: - \

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個請求。請參閱文檔here。每分鐘嘗試一次請求,你應該沒問題。

+0

哇,這是一個相當低的門檻。感謝您的鏈接。 –

+0

將'count'參數設置爲5000應該有所幫助。 – Jonas

+0

有趣。基本上,所以我不需要打這麼多電話? 我實際上已經重寫了它,所以它不需要將id轉換爲screen_name了。無論如何,這真是無聊。 –

相關問題