我已经收集了一个原始的(不是一个转发),但已经被转发了至少一次的推特数据集。对于这个包含6,000个原始rtweet的数据集,我试图使用'rtweet‘包中的get_retweets函数为每个推特收集30个转发。从过去的经验来看,如果最初的推文至少有30次没有被转发,那么它就会返回,不管原始推文有多少次转发。
get_retweets(status_id, n = 100, parse = TRUE, token = NULL, ...)我的代码如下所示:
> for (i in seq(nrow(morethan1RT))) {
if (i == 1) {
my_retweets = data.frame(get_retweets(morethan1RT$status_id[i], n = 1))
}
else {
my_retweets = rbind(my_retweets, get_retweets(morethan1RT$status_id[i], n = 1))
}
} 我首先创建了一个数据框架(用来存储所有的转发),方法是使用第一个原始的tweet状态id来提取0
这个for循环一开始起作用了,但现在在运行整个循环之后,我只获得了大约900次转发(甚至少于100次)。我不知道哪里出了问题--因为Twitter限制了你每15分钟可以收集多少推文,我试着等更长时间来运行循环;将6,000条推文分成几个小批;重新启动r.他们都不起作用。
如果有人能给我指明正确的方向,我会非常感激的。谢谢!
发布于 2018-12-07 18:04:45
rtweet文档显示get_retweets:“返回一个给定状态的100个最近转发的集合。注意:Twitter的API目前仅限于100个或更少的转发者。”
https://stackoverflow.com/questions/51829531
复制相似问题