避免达到速率限制

时间:2019-09-13 15:46:25

标签: python twitter tweepy

我的问题是实际上了解我可以得到多少条推文而不会被“达到速率限制。睡觉……”所困扰。我想要做的是构建一个爬网程序,该爬网程序将尽可能多地发送推文(每15分钟一次),而不会被阻止。

api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True, compression=True)
z = 0
while z <= 160:
    print(z)
    for tweet in tweepy.Cursor(api.search, q = "place:{}".format(place_id), count = 10, tweet_mode = "extended", lang = "pl").items():

        if len(str(tweet.place.name)) != 0:
            tweet_date.append(tweet.created_at)
            tweet_content.append(tweet.full_text)
            tweet_location.append(tweet.place.name)
            tweet_author.append(tweet.author)

    time.sleep(5)
    z += 1

在我了解限制之前,我了解到,每个请求可以得到100条推文(在我的情况下为10条,只是为了避免一直收到相同的推文)。可以在15分钟内提出180个请求。因此,我认为该代码将在每次请求后轻松获得10条推文,而不会超出限制。取而代之的是,经过一次迭代,我得到了“达到速率限制。睡眠……”。这是什么问题?对我来说很明显,我没有正确理解API的请求限制,但不知道如何克服此限制,这使得我的搜寻器可以平稳工作而不会被迫入睡。

感谢您的每条建议。祝福

0 个答案:

没有答案
相关问题