对于两天时间段的给定主题标签,我需要尽可能多的推文。问题是它们中有太多(猜测〜1百万)只能使用时间段规范进行提取:
retryOnRateLimit = 120
对我来说,明显的答案是通过给定的参数提取随机样本,但我无法弄清楚如何去做。
我的代码在这里:
a = searchTwitteR('hashtag', since="2017-01-13", n = 1000000, resultType = "mixed", retryOnRateLimit = 10)
最后一次尝试停止了17,5千条推文,其中只包括12小时
P.S。提取转推可能有用,但我仍然不知道如何在searchTwitteR()
中指定转推。
答案 0 :(得分:2)
弃用twitteR包以支持rtweet package。如果我是你,我会使用rtweet来获取这些推文的最后一条。
从技术上讲,您可以使用rtweet包中的search_tweets()
直接指定100万。不过,我建议将其分解成碎片,因为收集200000条推文需要几个小时。
library(rtweet)
maxid <- NULL
rt <- vector("list", 5)
for (i in seq_len(5)) {
rt[[i]] <- search_tweets("hashtag", n = 200000,
retyonratelimit = TRUE,
max_id = maxid)
maxid <- rt[[i]]$status_id[nrow(rt[[i]])]
}
## extract users data and combine into data frame
users <- do.call("rbind", users_data(rt))
## collapse tweets data into data frame
rt <- do.call("rbind", rt)
## add users data as attribute
attr(rt, "users") <- users
## preview data
head(rt)
## preview users data (rtweet exports magrittr's `%>%` pipe operator)
users_data(rt) %>% head()