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

如何修复'Tweet'对象没有'retweetCount'属性的AttributeError报错

snscrape抓取推特时报AttributeError错误的解决方法

错误原因

你使用的snscrape 0.3.4版本中,Twitter模块的Tweet对象转推数字段采用下划线命名规则,不存在驼峰命名的retweetCount属性,因此触发属性缺失报错。

解决方法

  • 方法1:替换为对应版本的正确属性名
    将代码中的tweet.retweetCount修改为tweet.retweet_count即可正常运行,修改后的完整代码如下:
import snscrape.modules.twitter as sntwitter

keyword = '(COVID19)'

tdf = None

for i, tweet in enumerate(sntwitter.TwitterSearchScraper(keyword + ' since:2021-08-01 lang:pt').get_items()) :
    if i > 50:
        break
    print(tweet.date.date())
    print(tweet.retweet_count)    
    print(tweet.renderedContent)
  • 方法2:增加字段兼容逻辑
    部分权限受限、已删除的特殊推文可能缺失转推数字段,可增加异常捕获逻辑避免程序中断:
import snscrape.modules.twitter as sntwitter

keyword = '(COVID19)'

tdf = None

for i, tweet in enumerate(sntwitter.TwitterSearchScraper(keyword + ' since:2021-08-01 lang:pt').get_items()) :
    if i > 50:
        break
    print(tweet.date.date())
    # 兼容字段缺失场景
    try:
        print(tweet.retweet_count)
    except AttributeError:
        print(0)
    print(tweet.renderedContent)
  • 方法3:升级snscrape版本适配驼峰命名
    如果你需要使用retweetCount驼峰格式的属性,可将snscrape升级到0.4.0及以上版本,执行命令:
    pip install --upgrade snscrape
    升级后无需修改原有属性名即可正常运行。

提示:如果修改后仍然报错,可在循环中添加print(dir(tweet))打印当前Tweet对象的所有属性,确认对应字段的正确命名。

内容的提问来源于stack exchange,提问作者Jean-Michel Grilly

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 00:15:03