2015-05-27 56 views
0

Twitter API每15分鐘15個請求的速率限制。最大限度地提高Twitter的日誌追隨者的速率限制

我試圖使用Python通過運行和編譯我的追隨者清單,但由於某些原因,當時只有300的追隨者記錄速率限制馬克塞斯。我讀過最大值應該接近5000。我哪裏錯了?

如果我有成千上萬,甚至超過100萬周的追隨者,我試圖打印每個跟隨者名單,我怎樣才能最大限度地發揮追隨者的數量命中率限制之前的Python/Twitter的回報?

這裏是我到目前爲止的代碼:

followers = tweepy.Cursor(client.followers, id=screenName) 
for follower in followers.items(): 
    info=[] 
    name =follower.name 
    screen_name = follower.screen_name 

    userId = userId + 1 

    info.append(userId) 
    info.append(name) 
    info.append(screen_name) 

    csvFile = open('followers.csv','a') 
    newFile =csv.writer(csvFile) #imported csv 
    newFile.writerow(info) 
    #close file 
    csvFile.close() 

回答

2

當您訪問client.followerstweepy,你實際上是在執行此嘰嘰喳喳要求GET followers list。在該請求中,有兩個限制:

(1)數的每15分鐘窗口請求:

請求/ 15分鐘窗口(用戶身份驗證)15

請求/ 15-分窗口(應用AUTH)30

(2)的追隨者,你可以得到關於每個請求的,見參數count

用戶的數量每頁返回,最多的200默認爲20

因此,只是把一個例子,假設例如所有用戶有200個追隨者,你可以得到在15分鐘的時間內有15名用戶的追隨者,你總共將有3000名追隨者。另一個例子,如果一個用戶有3000個關注者,你需要15個請求才能獲取他們,然後你會用完整的15分鐘窗口。 (我假設你使用用戶身份驗證)。

在另一方面,如果你的用戶只有1個追隨者,你會得到每15分鐘窗口15名追隨者。

您提到的數字5000是針對另一個推特請求GET followers ids,其中tweepyclient.followers_ids。在這其中,你沒有得到的用戶中,只有id的全部信息,但幅度限制不那麼嚴格:

(1)數量每15分鐘的窗口要求:

請求/ 15分鐘窗口(用戶身份驗證)15

請求/ 15分鐘窗口(應用AUTH)15

(2)數隨動的id,你可以得到對每個請求,請參見參數count

指定的ID的企圖檢索的數目,最多5000每個不同的請求。

所以,有了這個請求,你可以得到15 * 5000 = 75000追隨者每個窗口(但是,我堅持,只有ID)。

希望它有幫助。