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

使用rtweet的get_followers获取美国参议员Twitter粉丝遇技术问题

解决方案

批量获取粉丝的报错处理

get_followers() 本身仅支持单次传入单个用户名,直接传入多用户向量会触发参数校验错误。要批量处理,需遍历每个用户名逐个调用:

基础循环实现

library(rtweet)
data <- read.csv("data.csv", sep=";")

# 初始化空数据框存储结果
all_followers <- data.frame()

for (senator in data$twitter) {
  # 逐个获取粉丝
  follower_data <- get_followers(senator, retryonratelimit = TRUE)
  # 添加参议员用户名作为标识,方便后续关联
  follower_data$senator_username <- senator
  # 合并到总数据框
  all_followers <- rbind(all_followers, follower_data)
}

更高效的purrr遍历

library(rtweet)
library(purrr)
library(dplyr)

data <- read.csv("data.csv", sep=";")

# 遍历每个用户名,自动合并结果
all_followers <- map_dfr(data$twitter, function(senator) {
  get_followers(senator, retryonratelimit = TRUE) %>%
    mutate(senator_username = senator)
})

单个用户仅返回5000粉丝的问题

这是Twitter API的权限限制导致的:

  • 免费/基础版标准API:调用get_followers()单次最多返回5000条,且无法获取完整粉丝列表(有总量上限)。
  • 仅学术研究级API支持获取用户的全部粉丝,且需要配置对应的API凭证。

如果已使用学术API,检查以下步骤:

  1. 配置学术API token:
# 创建并保存学术API凭证
academic_token <- create_token(
  app = "你的应用名称",
  consumer_key = "你的API密钥",
  consumer_secret = "你的API密钥密钥",
  access_token = "你的访问令牌",
  access_secret = "你的访问令牌密钥",
  bearer_token = "你的Bearer Token", # 学术API必填
  set_renv = TRUE
)

# 使用学术token获取粉丝
get_followers("LisaMurkowski", retryonratelimit = TRUE, token = academic_token)
  1. 确保retryonratelimit = TRUE参数生效,该参数会在触发API速率限制时自动等待,直到可以继续请求。

实用提示

  • 处理大规模数据时,建议每处理一个用户就保存一次结果,避免程序崩溃丢失数据。
  • lookup_users()返回的粉丝总数是平台统计值,实际可获取数量取决于你的API权限等级。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 23:15:51