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

Tweepy调用Twitter API拉取推文截断 如何获取完整内容

问题原因

Twitter API v1.1 默认返回截断后的推文内容,长度超过140字符的推文会在末尾自动加上...,完整内容不会存储在默认返回的status.text字段中,仅修改读取字段无法拿到完整内容。

解决方案
  • 调用推文查询接口时,新增请求参数tweet_mode="extended",该参数会告知接口返回全量长推文内容,关闭默认的140字符截断逻辑
  • 读取推文内容时,不要使用status.text字段,替换为读取status.full_text字段,该字段为接口返回的完整推文正文
  • 针对转发类推文,完整正文存储在status.retweeted_status.full_text路径下,需要增加分支判断避免读取失败
修改后可直接运行的代码
auth = tweepy.OAuth1UserHandler(
   consumer_key, consumer_secret, access_token, access_token_secret
)

api = tweepy.API(auth, wait_on_rate_limit=True)

for status in tweepy.Cursor(api.search_tweets, q='#vaccine', tweet_mode="extended").items(10):
    # 区分普通推文和转发推文,读取对应完整内容
    if hasattr(status, "retweeted_status"):
        tweet_content = status.retweeted_status.full_text
    else:
        tweet_content = status.full_text
    with open("tweets.txt", "a", encoding="utf-8") as file:
        file.write(tweet_content)
        file.write("\n")

补充说明:如果使用Twitter API v2版本,拉取推文时需要在请求参数中声明tweet.fields=['text'],返回结果中直接读取data.text字段即可拿到无截断的完整推文内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 20:42:16