如何使用Tweepy结合X API v2基础权限获取账号粉丝列表?
解决X API v2基础访问权限下获取自身粉丝列表的问题
核心限制说明
X API v2的GET /2/users/{id}/followers端点(对应Tweepy的client.get_users_followers())需要高级访问权限,基础权限用户无法直接调用;同时connection_status属于高级权限专属的用户字段,基础权限请求时不会返回该字段,这就是你之前尝试无效的原因。
可行解决方案:使用X API v1.1的followers/list端点
基础访问权限用户可以通过Tweepy调用X API v1.1的followers/list端点来获取自身粉丝列表,该端点在基础权限下是开放的,仅存在速率限制(每15分钟15次请求,单次最多返回200条数据)。
代码实现步骤
- 准备你的X开发者凭证(consumer key、consumer secret、access token、access token secret),这些可以在开发者控制台的「Keys and tokens」页面获取。
- 初始化Tweepy的v1.1 API对象并分页获取粉丝:
import tweepy # 替换为你的开发者凭证 CONSUMER_KEY = "你的Consumer Key" CONSUMER_SECRET = "你的Consumer Secret" ACCESS_TOKEN = "你的Access Token" ACCESS_TOKEN_SECRET = "你的Access Token Secret" # 配置OAuth 1.0a认证(v1.1 API需要此认证方式) auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET) auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET) # 创建v1.1 API实例,开启自动处理速率限制等待 api = tweepy.API(auth, wait_on_rate_limit=True) def fetch_my_followers(): """分页获取当前账号的所有粉丝""" followers = [] # 使用Cursor自动处理分页 for page in tweepy.Cursor(api.followers_list, count=200).pages(): followers.extend(page) print(f"已获取 {len(followers)} 个粉丝") return followers # 获取并处理粉丝数据 my_followers = fetch_my_followers() for follower in my_followers: print(f"用户名: @{follower.screen_name}, 用户ID: {follower.id}")
注意事项
wait_on_rate_limit=True会让程序在触发速率限制时自动等待,避免报错。- 若你的粉丝数量较多,分页过程会耗时较长,可根据需求添加进度提示或中断逻辑。
- v1.1返回的用户对象字段与v2略有不同,如需特定字段可参考Tweepy的v1.1文档调整。
内容的提问来源于stack exchange,提问作者Ali AI110
相关产品推荐
相关产品推荐

