编程语言
首页 > 编程语言> > python-tweepy计数限制为200?

python-tweepy计数限制为200?

作者:互联网

我目前正在尝试使用一些关注者来检索某个大客户的关注者.

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

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

好的,如果我不指定count,默认情况下似乎每页仅显示20个结果,但是从Twitter API文档来看,它可以提供5000个关注者,我尝试将其设置为最大值.

但是,似乎没有考虑到这一点,每个页面最多包含200个条目,这是一个实际问题,因为您将更容易触发速率限制.

我做错了什么?有没有办法使Tweepy请求页面具有5000个ID,以最小化重复记录并覆盖此默认最大值200?

谢谢!

解决方法:

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

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已有控制权以防止滥用.

标签:twitter,tweepy,python
来源: https://codeday.me/bug/20191121/2054360.html