2016-08-08 1 views
0

현재 Streaming API를 사용하여 데이터를 수집하는 데 tweepy를 사용하고 있습니다.Twitter 파이썬에서 스트리밍 : cp949 코덱

내 코드는 여기에 있으며 Acaconda 명령 프롬프트에서 실행했습니다. 시작을 스트리밍 할 때, 트윗을 반환 한 후 몇 트윗을주고 나서 다음과 같은 오류가 있습니다 :

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 

나는 그것이 내가이 문제를 다루는 CHCP 65001을 사용하므로 인코딩과 관련이 있다고 생각을하지만 포기하지 않습니다 해결책!

여기에 코드가 돌아오고 무엇을 디코딩하는 코덱을 사용해야하므로 생산과 트위터 API를 통해 받아 모든 텍스트, UTF-8로 인코딩해야하는 코드

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() 

답변

관련 문제