我创建了一个循环,该循环贯穿 Twitter 句柄的向量,并使用包中的search_tweets
函数从它们收集推文rtweet
。
下载最新版本的 rtweet
## install devtools package if it's not already
if (!requireNamespace("devtools", quietly = TRUE)) {
install.packages("devtools")
}
## install dev version of rtweet from github
devtools::install_github("mkearney/rtweet")
library(rtweet)
创建令牌
## autheticate via web browser
token=create_token(
app = "My_app",
consumer_key = "My Consumer Key",
consumer_secret =
"My Secret Code",set_renv = FALSE)
这是我的 Twitter 句柄,存储在矢量中
twitter_handles=c("@realDonaldTrump","@HillaryClinton","@MittRomney")
然后我遍历这些句柄,并将每个句柄的结果存储为唯一的数据帧
#Loop through the twitter handles & store the results as individual dataframes
for(handle in twitter_handles) {
result <- search_tweets(handle, n = 3500 , include_rts = FALSE,retryonratelimit = TRUE)
if(length(result) != 0){
result$`Twitter Handle` <- handle
result$Source <- "Search"
df_name <- paste(tolower(substring(handle, 2)),"_search")
if(exists(df_name)) {
assign(df_name, unique(rbind(get(df_name), result)))
} else {
assign(df_name, result)
}
}
}
但是,当我这样做时,我收到一条错误消息
警告:32 - 无法验证您的身份。向量中的错误(“列表”,ntimes):无效的“长度”参数
但是我不认为这是一个身份验证问题,因为当我尝试使用随机关键字/主题标签时,我会得到结果
data <- search_tweets("#rstats", n = 10, include_rts = FALSE,token = token)
我的循环工作正常,但最近它开始抛出错误。关于为什么会发生这种情况以及是否有解决方法的任何想法?
非常感谢您的帮助!