You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

rtweet包1.0.2版本get_followers()无法获取超过75000个Twitter粉丝问题咨询

解决rtweet 1.0.2版本get_followers无法获取全部粉丝的问题

我来帮你排查这个问题并给出可行的解决办法!

问题原因分析

rtweet 1.0+版本切换到了Twitter API v2,而旧版本基于API v1.1。你遇到的75000个粉丝上限,刚好对应API v2免费版的速率限制:每15分钟最多75次请求,每次请求最多返回1000个粉丝ID(75×1000=75000)。

之所以旧版本能完成全量下载,是因为API v1.1的分页逻辑和速率限制处理与v2不同,而rtweet 1.0.2的get_followers函数在retryonratelimit=TRUE参数的实现上存在bug——第一次速率限制等待后,没有自动继续获取后续分页的粉丝数据,导致流程提前终止。

解决方案

方案1:手动处理分页与速率限制

绕过get_followers的自动重试逻辑,自己循环获取每一页的粉丝数据,同时手动处理速率限制等待:

library(rtweet)
library(dplyr)

# 已完成认证
auth_setup_default()

target_user <- "CDU"
all_followers <- tibble(from_id = character(), to_id = character())
next_token <- NULL

while(TRUE) {
  # 获取当前批次的粉丝,每次最多1000个
  batch <- get_followers(
    user = target_user,
    n = 1000,
    pagination_token = next_token,
    retryonratelimit = FALSE
  )
  
  # 没有数据则退出循环
  if(nrow(batch) == 0) break
  
  # 合并到总列表
  all_followers <- bind_rows(all_followers, batch)
  message(sprintf("已获取 %s 个粉丝", nrow(all_followers)))
  
  # 获取下一页的分页token
  next_token <- attr(batch, "next_token")
  
  # 没有下一页则退出
  if(is.null(next_token)) break
  
  # 检查速率限制,剩余请求不足时等待重置
  rate_info <- rate_limit("users/followers")
  if(rate_info$remaining <= 1) {
    wait_mins <- round(as.numeric(rate_info$reset - Sys.time(), units = "mins"), 1)
    message(sprintf("速率限制即将耗尽,等待 %s 分钟...", wait_mins))
    Sys.sleep(wait_mins * 60)
  }
}

# 查看最终结果
nrow(all_followers)

方案2:更新rtweet到最新版本

rtweet的后续版本已经修复了多个API v2相关的bug,包括retryonratelimit参数的问题。尝试更新包后再使用原代码:

# 从CRAN更新稳定版
install.packages("rtweet")

# 或者安装GitHub开发版(修复问题更及时)
# install.packages("remotes")
# remotes::install_github("ropensci/rtweet")

更新完成后,重新运行你的原代码:

df_follower <- get_followers("CDU", n = 800000, retryonratelimit = TRUE)

方案3:确认API权限级别

如果你的Twitter开发者账号是免费版,API v2确实有每15分钟75000个粉丝的单次限制,但通过多次等待速率限制重置,应该可以逐步获取全部粉丝。如果是学术研究账号或付费版,速率限制更高,下载会更快。

内容的提问来源于stack exchange,提问作者TobKel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.27 19:02:45