twitter api限速问题

时间:2018-02-14 04:15:26

标签: python tweepy

我正在尝试通过tweet id(大约2300个ID)使用tweepy查询推文 但我每次只能查询大约185个ID,然后必须等待15分钟,这意味着2300个ID需要大约3个小时才能完成。

使用api即:

consumer_key = 'xxxxxx'
consumer_secret = 'xxxxxx'
access_token = 'xxxxxxxx'
access_secret = 'xxxxxx'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)

api = tweepy.API(auth,wait_on_rate_limit=True,wait_on_rate_limit_notify=True)

然后使用api.get_status方法

遍历tweet_id中的每个id

我确实谷歌周围,并证明可能只有应用程序的查询允许在15分钟的窗口内提出更多请求,任何人都可以请指出我如何用tweepy制作仅限应用程序的请求?

感谢

2 个答案:

答案 0 :(得分:2)

您可以改为使用statuses_lookuptweepy docstwitter docs),每次通话最多可传递100个ID。根据{{​​3}},使用此方法的限制是300个请求。也就是说,你可以在达到窗口限制之前获得300x100 = 30000条推文,并且必须等待15分钟。你的2300 ids会很快收集。

希望有所帮助

更新以回复评论:

来自Twitter文档:

  

如果请求的推文未知或被删除,那么除非map参数设置为true,否则不会在结果列表中返回该推文,在这种情况下,它将返回值为null。

所以你不会真的得到错误,但你可能不会收到推文。因此,您需要将返回的结果与ID列表进行比较,以查看未返回的推文。

答案 1 :(得分:0)

我相信您可以使用tweepy 2.0进行仅应用程序身份验证

阅读本文:https://shogo82148.github.io/blog/2013/05/09/application-only-authentication-with-tweepy/

我希望这有帮助!