Как мне декодировать Твиттер из API Twitter?
Я запускаю следующий код, который дает мне твиты, содержащие слово cat, однако в некоторых моментах я получаю ошибку
Код таков:
import tweepy from tweepy import Stream from tweepy import OAuthHandler from tweepy.streaming import StreamListener import json import sentmod as s #consumer key, consumer secret, access token, access secret. ckey= "xxxxx" csecret="xxxx" atoken="xxxxx" asecret="xxxxx" class listener(StreamListener): def on_data(self, data): all_data = json.loads(data) tweet = all_data["text"] sentiment_value, confidence = s.sentiment(tweet) tweet.encode('utf-8', 'ignore') if "RT" in tweet: pass else: tweets=open("tweets.txt","a",encoding="utf-8") tweets.write(tweet) tweets.write('\n') tweets.write(str(sentiment_value)) tweets.write('\n') tweets.write(str(confidence)) tweets.write('\n\n\n') tweets.close() print(tweet, sentiment_value, confidence) if confidence*100 >= 60: output = open("twitter-out.txt","a") output.write(sentiment_value) output.write('\n') output.close() return True def on_error(self, status): print(status) auth = OAuthHandler(ckey, csecret) auth.set_access_token(atoken, asecret) twitterStream = Stream(auth, listener()) twitterStream.filter(track=['Cat'],languages=['en']) #locations=[]
Я получаю следующую ошибку после нескольких твитов:
печати(твит, sentiment_value, уверенность в себе)
UnicodeEncodeError: кодек 'UCS-2' не может кодировать символы в позиции 44-44: не bmp-символ не поддерживается в Tk
Что я уже пробовал:
декодирование и кодирование с помощью utf-8 и utf-16, но не сработало