Ich verwende derzeit Tweepy, um Daten mit Streaming API zu sammeln.Twitter Streaming in Python: cp949 codec
Hier ist mein Code und ich habe dies auf Acaconda Eingabeaufforderung ausgeführt. Wenn das Streaming beginnt, gibt es Tweets und dann nach wenigen Tweets zu geben gibt es folgende Fehlermeldung:
Streaming Started ...
RT @ish10040: Crack Dealer Released Early From Prison By Obama Murders Woman And Her 2 Young Kids… Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Users\Jae Hee\Anaconda2\lib\threading.py", line 801, in __bootstrap_inner
self.run()
File "C:\Users\Jae Hee\Anaconda2\lib\threading.py", line 754, in run
self.__target(*self.__args, **self.__kwargs)
File "C:\Users\Jae Hee\Anaconda2\lib\site-packages\tweepy\streaming.py", line 294, in _run
raise exception
UnicodeEncodeError: 'cp949' codec can't encode character u'\xab' in position 31: illegal multibyte sequence
Ich glaube, dass es mit Codierung zu tun hat, so dass ich chcp 65001 verwendet, um mit diesem Thema zu befassen, aber es gibt nicht die Lösung!
Hier ist der Code
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
class MyStreamListener(tweepy.StreamListener):
def on_status(self, status):
print(status.text)
def on_error(self, status_code):
#returning False in on_data disconnects the stream
if status_code == 420:
return False
def main():
myStreamListener = MyStreamListener()
myStream = tweepy.Stream(auth = api.auth, listener = myStreamListener)
print "Streaming Started ..."
try:
myStream.filter(track=['Obama'], async = True)
except:
print "error!"
myStream.disconnect()
if __name__ == '__main__':
main()
für den Track-String funktioniert Ich habe sogar versucht u'Obama‘verwenden, aber immer noch nicht. Ich weiß, dass ich UTF-8 verwenden muss, also habe ich chcp 65001 gemacht, funktioniert aber immer noch nicht. – user1917231