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