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

使用tweepy的api.get_user拉取用户列表时仅返回最后一个用户如何解决

问题根因
  • 循环内部的user_info变量每次迭代都会被新生成的单用户信息覆盖,没有提前设置容器存储所有用户的查询结果
  • 打印user_info的代码位于for循环的外部,程序执行完整个循环后才会执行打印逻辑,因此只能输出最后一次循环生成的用户数据
修正方案

提前定义空列表存储所有用户信息,循环内将每次生成的单用户字典追加到列表中,可按需选择循环内实时打印单用户信息,或循环结束后打印全量用户信息。
修正后代码如下:

api = tweepy.API(auth)

userID_list = ["JeffBezos", "BarackObama","elonmusk"]
# 提前定义空列表存储全量用户信息
all_user_info = []

for userxyz in userID_list:
    user_info = api.get_user(screen_name=userxyz)
    print(userxyz)

    name = user_info.name
    description = user_info.description
    followers_count = user_info.followers_count
    friends_count = user_info.friends_count

    single_user_info = {
        "Name":name,
        "Bios":description,
        "followers_count":followers_count,
        "friends_count":friends_count,
    }
    # 将当前用户信息存入总列表
    all_user_info.append(single_user_info)
    # 如需每次循环实时打印当前用户信息,可取消下一行注释
    # print(single_user_info)

# 打印所有3位用户的完整信息
print(all_user_info)

如果需要兼容接口请求异常场景,可在循环内增加异常捕获逻辑,避免单个用户查询失败导致整个程序终止:

for userxyz in userID_list:
    try:
        user_info = api.get_user(screen_name=userxyz)
        # 原有数据解析、存储逻辑不变
    except Exception as e:
        print(f"获取用户{userxyz}信息失败,错误原因:{e}")
        continue

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:24:03