有一些问题讨论如何使用Twitter API从用户那里获取推文。 (例如,Twitter API getting any user's all tweets,Is there a way to get all tweets from twitter for a specified user?)
我知道我应该使用user_timeline。但我的问题是Twitter提出了一个速率限制,如果我想下载一次说1000条推文,它会给我一个错误。
在下面的代码中,我对API发出了单独的请求,并在每次请求之间休息了几分钟,但它仍然不起作用。
for p in range(1, 6):
params['page'] = p
url = base_url + urllib.urlencode(params)
r = requests.get(url)
j = simplejson.loads(r.content)
for item in j:
# do something to tweets
time.sleep(180)
有什么想法可以解决吗?感谢。
答案 0 :(得分:2)
您可以使用例如streaming API访问Tweepy,并使用一个或多个用户ID过滤API statuses
方法。此方法的优点是流API不受速率限制。 This answer应该让你开始使用Tweepy和流API。