2014-12-20 4 views
0

해시 태그를 기반으로 트윗을 추출하려고합니다. 다음은 내 파이썬 소스 코드Twitter 데이터 추출 중에 UnicodeEncodeError가 발생 함

import tweepy 

consumer_key = "##" 
consumer_secret = "##" 
access_key = "##" 
access_secret = "##" 

auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
auth.set_access_token(access_key, access_secret) 

def main(): 
    api = tweepy.API(auth) 
    search_string = "#cancer" 
    search_results = api.search(
     q=search_string, lang='en', count=100, until='2014-12-19') 

    for i in search_results: 
     print(i) 

if __name__ == '__main__': 
    main() 

이 프로그램은 다음과 같은 UnicodeEncodeError가 발생한다 :

Traceback (most recent call last): 
    File "C:\Users\Jaggy Paw\Workspace\TwitterDataExtraction\streaming.py", line 26, in <module> 
    main() 
    File "C:\Users\Jaggy Paw\Workspace\TwitterDataExtraction\streaming.py", line 23, in main 
    print(i) 
    File "C:\Users\Jaggy Paw\Anaconda3\lib\encodings\cp1252.py", line 19, in encode 
    return codecs.charmap_encode(input,self.errors,encoding_table)[0] 
UnicodeEncodeError: 'charmap' codec can't encode character '\u2708' in position 1229: character maps to <undefined> 

방법이 오류를 해결하려면?

답변

1

예! 몇 시간 더 일하면서 혼자이 문제를 해결했습니다.

Windows7에서 프로그램을 실행하고 있기 때문에 콘솔에 'utf-8'문자를 인쇄 할 때 문제가 있습니다.

그래서 나는 (질문에서 언급 한) 코드의 어떤 부분

sys.stdout = codecs.getwriter('utf8')(sys.stdout.buffer, 'strict') 
sys.stderr = codecs.getwriter('utf8')(sys.stderr.buffer, 'strict') 
를 수정하지 않고 내 코드에 아래 라인을 추가