如何使用Tweepy批量获取多个Twitter用户ID对应的账号数据
基于已有用户ID批量采集Twitter账号数据的实现方案
你已经完成了API鉴权和用户ID列表的获取,可以直接复用已初始化的api对象完成后续批量采集,具体实现如下:
1. 可采集的账号核心字段(可按需选择)
- 账号基础属性:用户名、昵称、个人简介、头像链接、注册时间、粉丝数、关注数、发帖总数、官方认证状态、所在地
- 账号动态数据:历史发帖内容、点赞记录、关注列表、粉丝列表、转发记录
2. 批量采集账号基础信息的代码
直接在你现有代码的末尾追加即可,代码适配你当前使用的Tweepy v1.1版本接口:
# 直接复用你之前生成的用户ID列表变量ID user_result = [] for uid in ID: # 传入用户ID拉取账号详情 user_obj = api.get_user(user_id=uid) # 按需提取字段,可自行增减配置 single_user_info = { "用户ID": user_obj.id_str, "用户名": user_obj.screen_name, "账号昵称": user_obj.name, "个人简介": user_obj.description, "粉丝总量": user_obj.followers_count, "关注总量": user_obj.friends_count, "发帖总数": user_obj.statuses_count, "注册时间": str(user_obj.created_at), "是否官方认证": user_obj.verified, "账号所在地": user_obj.location } user_result.append(single_user_info) # 加短延迟防止触发API频率限制,普通开发者权限可调整到0.5s import time time.sleep(1) # 结果可直接打印,也可自行写入csv、json等文件存储 print(user_result)
3. 补充说明
- 如果需要采集账号历史发帖,将
api.get_user替换为api.user_timeline(user_id=uid, count=200)即可,count参数调整单次拉取的发帖数量,单账号最多支持拉取3200条历史公开帖 - 普通开发者账号每15分钟最多请求900次用户信息接口,采集14个账号完全够用,延迟可按需调低
- 若出现权限报错,检查你的开发者账号是否申请了对应接口的访问权限,v2版本API需要单独开通用户信息读取权限
内容的提问来源于stack exchange,提问作者xsrg45
相关产品推荐
相关产品推荐

