gpt4 book ai didi

r - 用户从 R 查找 Twitter API 会导致错误 (403)

转载 作者:行者123 更新时间:2023-12-03 05:59:25 28 4
gpt4 key购买 nike

使用 Twitter API 和 twitteR 包,我尝试检索用户对象获取一长串名称(50.000 到 100.000 之间)。

我不断收到以下错误:

Error in twInterfaceObj$doAPICall(paste("users", "lookup", sep = "/"),  : 
client error: (403) Forbidden

错误代码据称暗示 "update limits" 。但是rate limit on user lookups是 180 并且在 batches of 100 中执行查找用户名。因此,最多 18,000 个用户应该不成问题。但即使将数量减少到每 15 分钟时间窗口 6000(以遵守仅应用程序身份验证的请求限制)也会导致相同的错误。

这是一个 MWE(但是您确实需要 your own API-keys ):

library(plyr)
# install the latest versions from github:
# devtools::install_github("twitteR", username="geoffjentry")
# devtools::install_github("hadley/httr")
library(twitteR)
library(httr)

source("TwitterKeys.R") # Your own API-Keys
setup_twitter_oauth(consumerKey, consumerSecret, accessToken, accessSecret)

# The following is just to generate a large enough list of user names:
searchTerms <- c("worldcup", "economy", "climate", "wimbledon",
"apple", "android", "news", "politics")

# This might take a while
sample <- llply(searchTerms, function(term) {
tweets <- twListToDF(searchTwitter(term, n=3200))
users <- unique(tweets$screenName)
return(users)
})

userNames <- unique(unlist(sample))

# This function is supposed to perform the lookups in batches
# and mind the rate limit:
getUserObjects <- function(users) {
groups <- split(users, ceiling(seq_along(users)/6000))
userObjects <- ldply(groups, function(group) {
objects <- lookupUsers(group)
out <- twListToDF(objects)
print("Waiting for 15 Minutes...")
Sys.sleep(900)
return(out)
})
return(userObjects)
}

# Putting it into action:
userObjects <- getUserObjects(userNames)

有时手动查找较小的子集,例如通过 lookupUsers(userNames[1:3000]) 有效;然而,当我尝试自动化该过程时,会抛出错误。

有谁知道这可能是什么原因吗?

最佳答案

根据这个答案I hit the rate limit for twitteR even from the first request ,不仅对用户总数有限制,而且对每15分钟间隔的通话次数也有限制。如果每个调用有 100 个用户,而您尝试查找 6000 个用户,则您应该进行 60 个调用,这超过了允许的 15 个调用。尝试让程序进入休眠状态,并让它在 15 分钟后再次发出调用。

关于r - 用户从 R 查找 Twitter API 会导致错误 (403),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24448452/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com