使用twython我试图检索具有超过40k粉丝的特定id的所有粉丝的列表。但我遇到了以下错误 “Twitter API返回了超过429(太多请求)的速率限制。如何解决这个问题?
以下是代码段,我正在打印用户名和时区信息。
next_cursor = -1
while(next_cursor):
search = twitter.get_followers_list(screen_name='ndtvgadgets',cursor=next_cursor)
for result in search['users']:
time_zone =result['time_zone'] if result['time_zone'] != None else "N/A"
print result["name"].encode('utf-8')+ ' '+time_zone.encode('utf-8')
next_cursor = search["next_cursor"]
答案 0 :(得分:2)
将搜索行更改为:
search = twitter.get_followers_list(screen_name='ndtvgadgets',count=200,cursor=next_cursor)
然后导入时间模块并在每次API调用之间插入time.sleep(60)。
拥有41K粉丝的用户需要很长时间(ndtvgadgets帐户大约需要三个半小时),但它应该可以使用。随着计数增加到200(最大值),您每分钟有效地请求200个结果。如果您的脚本中除了twitter.get_followers_list之外还有其他API调用,您可能需要稍微填充一下睡眠时间或在每个调用后插入一个睡眠调用。