如何从 tweepy 获取完整的推文?

How to get full tweets from tweepy?

我正在使用 Tweepy 从 Twitter 提取基于主题标签的推文。问题是提取的推文不是全长的。

这是我的代码

import tweepy
import csv
import pandas as pd
####input your credentials here
consumer_key = 'XXXXXX'
consumer_secret = 'XXXXXX'
access_token = 'XXXXXX-XXXXXX'
access_token_secret = 'XXXXXX'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth,wait_on_rate_limit=True)
# Open/Create a file to append data
csvFile = open('new-dataset12.csv', 'a')
#Use csv Writer
csvWriter = csv.writer(csvFile)
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.text)
  csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8')])

当我不使用 tweet_mode='extended' 时,它不会给出完整的推文。并使用 tweet_mode='extended',它给出了以下错误

AttributeError                            Traceback (most recent call last)
<ipython-input-7-50f1dd34d7fa> in <module>()
     24 csvWriter = csv.writer(csvFile)
     25 for tweet in tweepy.Cursor(api.search,q="#PregnantElephant", tweet_mode='extended', count=10000, lang="en", since="2020-04-03").items():
---> 26   print (tweet.created_at, tweet.text)
     27   csvWriter.writerow([tweet.created_at, tweet.text.encode('utf-8')])

AttributeError: 'Status' object has no attribute 'text'

有人可以帮忙解决这个问题吗?

如果使用extended,则需要通过print(status.full_text)

获取文本

这样做:

try:
    print(status.retweeted_status.full_text)
except AttributeError:  # Not a Retweet
    print(status.full_text)