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

使用Tweepy获取完整推文时遇AttributeError,求解决方案

解决Tweepy启用tweet_mode='extended'后出现的AttributeError问题

你遇到的问题其实是Tweepy的一个常见特性:当开启tweet_mode='extended'参数来获取完整推文时,返回的Status对象里,存储推文内容的属性从.text变成了.full_text。你代码里还在调用tweet.text,自然会触发“属性不存在”的错误。

基础解决方案

只需要把代码中所有的tweet.text替换成tweet.full_text即可,修改后的循环代码如下:

for tweet in tweepy.Cursor(api.search,q="#PregnantElephant", tweet_mode='extended', count=10000, lang="en", since="2020-04-03").items():
    print(tweet.created_at, tweet.full_text)
    csvWriter.writerow([tweet.created_at, tweet.full_text.encode('utf-8')])

进阶处理:转发推文

如果你的搜索结果里包含转发推文(以RT @用户名开头),有时候你可能需要获取被转发的原推文的完整内容,而不是带转发标记的内容。这时候可以先判断当前推文是否为转发,再获取对应的内容:

for tweet in tweepy.Cursor(api.search,q="#PregnantElephant", tweet_mode='extended', count=10000, lang="en", since="2020-04-03").items():
    # 区分转发和原创推文
    if hasattr(tweet, 'retweeted_status'):
        # 转发推文:获取原推文的完整内容
        tweet_content = tweet.retweeted_status.full_text
    else:
        # 原创推文:直接获取当前推文的完整内容
        tweet_content = tweet.full_text
    
    print(tweet.created_at, tweet_content)
    csvWriter.writerow([tweet.created_at, tweet_content.encode('utf-8')])

这样就能确保无论遇到哪种类型的推文,都能正确获取到完整内容了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 09:12:38