[英]Maximizing Twitter's rate limit to log followers
Twitter API的速率限制為每15分鍾15個請求。
我正在嘗試使用python來運行並編譯我的關注者列表,但是由於某些原因,當僅記錄300個關注者時,速率限制達到最大值。 我讀過,最高限額應該接近5,000。 我要去哪里錯了?
如果我有成千上萬,甚至超過一百萬的追隨者,並試圖打印每個追隨者的列表,那么在達到速率限制之前,如何才能最大化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()
當您訪問client.followers
中的tweepy
,您實際上是在執行此Twitter請求GET關注者列表 。 在此請求中,您有兩個限制:
(1)每15分鍾窗口的請求數:
請求/ 15分鍾窗口(用戶身份驗證)15
請求/ 15分鍾窗口(應用驗證)30
(2)每個請求可獲取的關注者數量,請參閱參數count
:
每頁返回的用戶數,最大為200。默認值為20。
因此,僅舉一個例子,假設所有用戶都有200個關注者,您可以在15分鍾的窗口中獲得15個用戶的關注者,而您總共可以獲得3000個關注者。 另一個示例,如果用戶有3000個關注者,則需要15個請求才能全部獲取他們,然后您將使用完整的15分鍾窗口。 (我假設您使用用戶身份驗證)。
另一方面,如果您的用戶只有1個關注者,則每15分鍾窗口您將獲得15個關注者。
您提到的數字5000用於另一個Twitter請求GET跟隨者ID ,在tweepy
是client.followers_ids
。 在這一章中,您沒有獲得用戶的全部信息,只有ID,但是速率限制不太嚴格:
(1)每15分鍾窗口的請求數:
請求/ 15分鍾窗口(用戶身份驗證)15
請求/ 15分鍾窗口(應用身份驗證)15
(2)您可以在每個請求中獲取的關注者ID的數量,請參閱參數count
:
指定嘗試檢索的ID的數量,每個不同的請求最多為5,000。
因此,通過此請求,您每個窗口最多可以獲得15 * 5000 = 75000個關注者(但是,我堅持只有ID的關注者)。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.