簡體   English   中英

了解Twitter的速率限制

[英]Understanding the Twitter rate limit

我正在使用Tweepy編寫一個函數,該函數將返回大型Twitter帳戶的所有關注者並將其寫入文件。 我一直在閱讀有關Twitter速率限制的信息,但仍然不太合理。 該文檔說:“每15分鍾打15個電話,每15分鍾打180個電話”。 但是,當我運行沒有睡眠功能的代碼時,在Twitter將我拒之門外之前,我設法獲得了大約280個名稱。 那么我在這里實際上打了多少個電話? 我的代碼如下:

import tweepy
import time

auth = tweepy.OAuthHandler("...", "...")
auth.set_access_token("...", "...")
api = tweepy.API(auth)

f = open('output.txt', 'w')
timecount = 0
for user in tweepy.Cursor(api.followers, screen_name="NAME").items():
    timecount = timecount + 1
    if timecount == 200:    
        print "HOLD ON A SECOND!!!"
        #print api.rate_limit_status()
        time.sleep(60*15)
        timecount = 0   
    data = user.screen_name 
    print user.screen_name  
    print >> f, data   
f.close()

目前,它在每280個名稱之間等待15分鍾,這似乎正在起作用。 顯然,我希望它能夠盡可能高效地運行。 誰能幫助我了解我正在打多少個電話,我應該等待多長時間?

在這種情況下,數學非常簡單,實際上您在Twitter將您截斷之前發出了14個請求,但是您能夠獲取280個名稱,因為tweepy.Cursor(api.followers, screen_name="NAME")是一個返回的單個請求一次20個值,這意味着您在單個請求中獲取20個值,並且正如您提到的那樣,您能夠獲取280個名稱,這並不奇怪,因為280/20 = 14因此,實際上您只發出了14個請求,您只需遍歷280個值即可打印出名稱等。有關更多詳細信息,請參閱文檔

我會在評論中添加此內容,但我無法享有聲譽和東西。 前段時間我遇到了同樣的問題。 實際上,每個請求最多可以獲取5000個用戶名,這意味着每15分鍾可以獲得75000個關注者。 只需將計數增加到5000即可。該呼叫使用關注者/列表呼叫。 這是鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM