避免推特的速率限制

Avoiding twitter's rate limiting

当我执行以下操作时:

library(twitteR)
library("ROAuth")

consumer_key <- ''
consumer_secret <- ''
access_token <- ''
access_token_secret <- ''

setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_token_secret)

potus_user <- twitteR::getUser("potus")
followers_potus <- potus_user$getFollowerIDs()

我得到一个包含 70000 个条目的数组,以及以下消息:

Warning message:
In twInterfaceObj$doAPICall(cmd, params, method, ...) :
  Rate limit encountered & retry limit reached - returning partial results

我明白它在告诉我什么,我要求太多了。

例如,是否有一种方法可以在 getFollowerIDs() 方法上循环并在清除速率限制后获得 70000 个下一个关注者?

您是否为 Twitter API 创建了多个凭据?您可能会查看 smappR 包:https://github.com/SMAPPNYU/smappR

函数smappR::getFollowers()可以使用多个凭据(默认情况下,在'~/Dropbox/credentials'目录中)以加速获取关注者ID。

函数 smappR::getFollowers() 有一个参数 sleep,允许您定制 API 请求的频率。