剩余限额

2024-05-09 21:45:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图找到一种方法,在tweepy中创建一个reserve limits,以便处理twitter API发送的剩余限制错误。我使用以下代码:

limits = myapi.rate_limit_status()
remain_search_limits = limits['resources']['search']['/search/tweets']['remaining']
print remain_search_limits
print limits

实际上上面的代码打印了:

^{pr2}$

奇怪的是,每次我打印resident_search_limits时,我得到的答案是179。在我能够再次从twitter获取数据之前,我应该使用什么来哭泣?在

我的最终代码如下:

limits = api.rate_limit_status()
remain_follower_limits = limits['resources']['followers']['/followers/ids']  ['remaining']

with open("ids.txt") as f:
    content = f.readlines()

ids = []
for page in tweepy.Cursor(api.followers_ids, user_id="dankanter").pages():
while remain_follower_limits >4:
    limits = api.rate_limit_status()
    remain_follower_limits = limits['resources']['followers']['/followers/ids']['remaining']
    ids.extend(page)
else:
    time.sleep(60)

print ids
print len(ids)

但有时它会在行限制中卡住=api.rate\u limit_状态()在while循环内。如果一个用户有数百万个用户,它只返回一个子集,而这个子集实际上非常小。在


Tags: 代码apiidssearchratestatusresourceslimit
1条回答
网友
1楼 · 发布于 2024-05-09 21:45:54

[总结、澄清和阐述最初帖子中的评论线索]

我也得到同样的价值。。。除非/直到我调用myapi.search,然后返回一个较低的值。在

limits['resources']包含不同资源族(API调用类型)的字典列表:

['account', 'blocks', 'users', 'friends', 'help', 'saved_searches', 'lists', 'search', 'application', 'trends', 'followers', 'favorites', 'friendships', 'geo', 'direct_messages', 'statuses', 'mutes']。在

与资源族关联的每个词典都包含一个或多个键,这些键表示与该族关联的特定方法。每个键的值依次是带有'limit''remaining'和{}键的字典。在

application/rate_limit_status方法的文档描述如下:

This method responds with a map of methods belonging to the families specified by the resources parameter, the current remaining uses for each of those resources within the current rate limiting window, and its expiration time in epoch time. It also includes a rate_limit_context field that indicates the current access token or application-only authentication context.

由于limits['resources']['search']['/search/tweets']['remaining']表示您可以进行的剩余搜索调用,所以只要这个数字大于零,您就可以继续进行其他的search调用;当它达到零时,您需要等待直到到达reset时间(在Epoch format)之前。在

对于后续注释,limits['resources']['followers']资源家族包含方法'/followers/ids'和{}的键,并且可以使用与search相同的模式访问{}调用。在

您可以在这个线程中找到一些其他有用的信息:Return the number of remaining hits tweepy

相关问题 更多 >