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

Tweepy使用Paginator获取点赞用户时无法读取User对象id问题

Tweepy获取推文点赞用户ID无法读取属性问题解决方案

错误原因

当前分页遍历逻辑存在问题:Tweepy v2 分页器返回的每个响应对象中,实际的用户数据集存储在response.data属性下,直接遍历response对象本身拿到的不是User实例,而是响应结构中的其他元数据、关联字段内容,因此会出现打印仅输出用户名、访问id属性失败的问题。

可直接运行的修正代码

client = tweepy.Client(
    bearer_token=bearer_token,
    consumer_key=api_key, consumer_secret=api_secret,
    access_token=user_token, access_token_secret=user_token_secret,
    wait_on_rate_limit=True
)

all_liking_user_ids = []

for page in tweepy.Paginator(
    client.get_liking_users,
    id=tweetid,
    max_results=100,
    limit=10,
    # 显式声明需要返回的用户字段,避免默认返回字段缺失
    user_fields=["id", "name", "username"]
):
    # 当前页无数据时直接跳过
    if page.data is None:
        continue
    for user in page.data:
        # User实例可直接通过点语法访问对应字段
        print(f"ID: {user.id} | 昵称: {user.name} | 用户名: {user.username}")
        all_liking_user_ids.append(user.id)

避坑说明

  • 所有Tweepy v2 分页接口的返回数据,实体类结果(用户、推文、列表等)都统一存放在对应分页响应的data属性中,不要直接遍历响应对象本身
  • 调用接口时显式传入user_fields/tweet_fields等字段参数,可以避免接口默认不返回目标字段导致的属性报错
  • 如果需要获取更多分页数据,调整Paginator的limit参数即可,wait_on_rate_limit=True配置会自动处理限流等待,不需要额外写逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 16:33:25