1

我收集了一个原始推文数据集(不是转推),但至少被转推了一次。对于这个包含 6,000 条原始推文的数据集,我尝试使用“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))  
  }  
}  

我首先通过使用第一条原始推文的状态 id 提取 0 创建了一个数据框(用于存储所有转推)

这个 for 循环一开始是有效的,但现在我在运行整个循环后只得到了大约 900 次转推(甚至不到 100 次)。我不确定出了什么问题——因为 Twitter 对每 15 分钟可以收集多少推文有限制,所以我尝试等待更长的时间来运行循环;将 6,000 条推文分成更小的批次;重新启动 r... 他们都没有工作。

如果有人能指出我正确的方向,我将不胜感激。谢谢!

4

1 回答 1

1

rtweet文档说get_retweets:“返回给定状态的 100 个最近转发的集合。注意:Twitter 的 API 当前限制为 100 个或更少的转发者。”

于 2018-12-07T18:04:45.783 回答