我正试图在两年内为一些Twitter用户推特。我正在使用Python中的searchtweets库和该API的沙盒版本
我正在使用他们的结果流方法:
import searchtweets
rule = gen_rule_payload("from:BBCNews", from_date="2017-01-01",
to_date="2017-01-01", results_per_call=100)
rs = ResultStream(rule_payload=create_rule(i),
max_results=18000,
max_pages=1,
**premium_search_args) # these are credentials, ommitted for security
tweets = list(rs.stream())
然而,我得到的回报是:
HTTP Error code: 429: Request exceeds account’s current package request limits. Please upgrade your package and retry or contact Twitter about enterprise access.
我已经审查了速率限制(https://developer.twitter.com/en/docs/basics/rate-limiting),并认为我已经正确地推断出此类请求的速率限制为每15分钟180次,因此将max_结果限制为18000次将防止BBC新闻推特的请求超过15分钟窗口的速率限制。每个请求返回100个结果,因此18000个结果将是100个结果*180个请求
这不起作用,所以我想我一定是误解了。如果有人能提供一些进一步的见解,那就太好了
您所引用的网页状态(顶部第一行):
每15分钟180个请求是指标准(传统)1.1搜索API,仅限于7天的非完整索引。在使用沙箱的premium search中,如果您正在搜索完整的存档产品,则您当月有50个请求,每个请求最多有100条tweet(请参阅您的应用程序仪表板“订阅”部分)。在付费层中,您每月有100到2500个请求,每个请求最多可覆盖500条推文,搜索规则更为复杂(沙盒中128个字符中有1024个字符)
查看“应用程序仪表板订阅”面板,该面板解释了您当月的请求情况
相关问题 更多 >
编程相关推荐