2016-01-16 246 views
0

使用pip3 install twitter作爲一個小型的Python程序來檢索總共一年中所有用戶的推文。如何解決twitter API速率限制?

utl = t.statuses.user_timeline(count = n, screen_name = name) 

得到了一個約速率限制錯誤的,因爲它顯示了:

細節:{ '錯誤':[{ '代碼':88, '消息': '超過限速'}] }

檢查api文檔後,https://dev.twitter.com/rest/public/rate-limiting,但不知道如何解決它。

希望任何人都可以提供幫助。謝謝!

回答

3

rate limit page很清楚,您每15分鐘只能撥打180個電話。

這給你幾個選項。

  • 調整您的代碼。將sleep放在那裏以確保它永遠不會超出限制。
  • 使用API​​選項可以在最短的API調用中獲取最大數量的數據。

documentation for statuses/user_timeline說:

這種方法只能返回到一個用戶的最新推文3200。

count指定嘗試和檢索,最多的200個不同的請求的鳴叫的次數。

所以,你可以使用count=200要求所有3200點的狀態,在短短16 API調用

+0

另外從速率限制頁面,如果您使用應用程序驗證,則每個15分鐘窗口中的限制爲300個呼叫 - 如果要加快此過程的速度,此功能很有用。 – Jonas

+0

我幾乎沒有注意到這個'3200'的限制。有沒有解決辦法超越它?我的意圖是在一年內獲得超過10K人的所有推文。現在我每次使用200個tweets,但如您提到的限制,只能收到3245個tweets。 – S1U