【发布时间】:2013-12-08 16:21:31
【问题描述】:
我在 R 中遇到了与 TwitteR 包似乎非常不一致的行为。我按如下方式触发查询,每个查询都在其 15 分钟窗口内,以符合 REST API 1.1 的速率限制功能。前三个工作。第4次失败。反复。
monsanto.tweets = searchTwitter('@monsanto', n = 1500);
monsanto.tweets.20131207 = searchTwitter('@monsanto', n = 6000, until = '2013-12-07');
monsanto.tweets.20131205 = searchTwitter('@monsanto', n = 6000, until = '2013-12-05');
monsanto.tweets.20131202 = searchTwitter('@monsanto', n = 6000, until = '2013-12-02');
错误是: [1] “客户端错误 (429)” twInterfaceObj$doAPICall(cmd, params, "GET", ...) 中的错误: 错误:客户端错误 (429)
怎么样?我尝试过计数,以 1000 的步长将其降低到 1000。没有成功。我也尝试过主题的变化。
monsanto.tweets.20131202 = searchTwitter('@monsanto',
since = '2013-12-02', until = '2013-12-02', lang = 'en');
monsanto.tweets.20131130 = searchTwitter('@monsanto',
n = 1000, until = '2013-11-30');
这些都不起作用。在后台,“searchTwitter”的每个实例都可能生成多个 GET 请求到 REST API 1.1。根据文档,单个 GET 请求最多返回 100 条推文,默认为 25 条。满足 6000 条推文的请求最多需要 60 个请求,默认设置下需要 240 个请求。两者都在 15 分钟窗口内 480/应用程序的允许限制内。
什么给了?
PS - 我使用 OAuth。我开始认为我最好将自己的接口手动滚动到 REST API 1.1 并解析 JSON。
【问题讨论】: