我正在尝试tweepy模块,但是得到了一些奇怪的结果。我不确定是因为Twitter流本身还是扭曲的。我有一个非常简单的监听器,如下所示:
api = tweepy.API(auth)
class MyListener(tweepy.StreamListener):
def on_data(self, data):
try:
tweet = json.loads(data)
print(tweet)
except:
print('-')
return True
def on_error(self, status_code):
print("Error Code : " + status_code)
my_listener = MyListener()
stream = tweepy.Stream(auth = api.auth, listener=my_listener,
tweet_mode='extended')
stream.filter(track=['python'], async=True)
所以问题是当我实际收到一条推文时,该推文超过了以前的140个字符的限制:
'RT @GOPChairwoman: The Pentagon just provided $200 MILLION worth of security assistance to Ukraine. It’s the latest example of the Trump ad…'
您可以看到它在最后如何被截断。 Twitter API Docs指定如果将“截断的”字段设置为true,则应该保留完整版本的“ full_text”字段。但是,当上面的推文非常不完整时,“截断”字段将设置为False。如您所见,我也有tweet_mode='extended'
。任何人都知道发生了什么事吗?
作为一个附带的问题,当我打印tweet['text']
时,有时控制台中什么也没有。我猜这是因为这些推文是用UTF-8编码的,但是我不完全理解为什么python不打印它。