tweepy数量限制在200?

时间:2014-05-04 19:24:02

标签: python twitter tweepy

我目前正试图通过很多关注者来检索一些大帐户的粉丝。

我正在使用Tweepy和这段代码(带光标):

follower_cursors = tweepy.Cursor(api.followers, id = id_var,count=5000)
            for friend in follower_cursors.items():

好的,如果我没有指定计数,似乎默认情况下每页只显示20个结果,但是从Twitter API文档中它可以提供5000个关注者,我试图将其设置为最大值。

然而,这似乎没有被考虑在内,每个页面最多包含200个条目,这是一个真正的问题,因为您将更容易触发速率限制。

我做错了什么?有没有办法让Tweepy请求5000个ID的页面,以最大限度地减少requets并覆盖这个默认的最大值200?

谢谢!

1 个答案:

答案 0 :(得分:3)

您可以使用cursor for pages代替items,然后按页面处理项目:

for page in Cursor(api.user_timeline).pages():
    # page is a list of statuses
    process_page(page)

    # or iterate over items in `page`

我没有在tweepy Cursor中看到返回结果的限制,因此它应该返回尽可能多的数量。


上一个回答:

每页最大结果由Twitter API强制执行,而不是通过tweepy强制执行。 应该对每次调用200次的结果列表进行分页,Cursor已经为你做了。如果有5000个粉丝,那么每个查询最多200个结果,您只需使用25个来电。你还有4975个电话要做其他事情。

要超过5000每小时的费率限制,您需要每分钟至少拨打83个电话或每秒拨打1.4个电话。

请注意'读取限制'是按应用程序但写入限制'是按用户。因此,如果读取密集,您可以在两个或多个应用程序 * 之间拆分任务。

如果它更适合您的需要,请考虑使用Streaming API

* :虽然我确信Twitter已制定控制措施以防止滥用。