使用tweet_mode='extended'时Tweepy推文仍截断,如何提取完整文本?
解决推文文本被截断的问题
嘿,我之前也踩过这个坑!虽然你已经加了tweet_mode='extended',但不同类型的推文得对应不同的字段才能拿到完整文本,具体可以这么处理:
- 原创非转发推文:直接取
full_text字段就行,别再用默认的text啦,示例代码:
# 假设你用的是Tweepy库 tweet = api.get_status(your_tweet_id, tweet_mode='extended') complete_text = tweet.full_text
- 转发的推文(Retweet):这时候原推文的完整内容会嵌套在
retweeted_status对象里,得先判断是否存在这个属性,再取里面的full_text:
tweet = api.get_status(your_tweet_id, tweet_mode='extended') if hasattr(tweet, 'retweeted_status'): # 是转发的推文,取原推文的完整文本 complete_text = tweet.retweeted_status.full_text else: # 是原创推文,直接取自身的full_text complete_text = tweet.full_text
另外如果是引用推文(Quote Tweet),要是想提取被引用的那部分完整文本,就去quoted_status.full_text里找就行,逻辑和转发的类似。
亲测这个方法在Tweepy里是有效的,你可以试试哦!
内容的提问来源于stack exchange,提问作者apt45
相关产品推荐
相关产品推荐

