2016-06-07 92 views
0
#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
import tweepy 
import json 
import re 
import sys 
reload(sys) 
sys.setdefaultencoding('utf-8') 

class listener(StreamListener): 

def on_data(self, data): 
    try: 
     print data 
     tweet = data.split(',"text":"')[1].split('","source')[0] 
     print tweet 
     saveThis = str(time.time())+'::' + tweet 
     saveFile = open("tweetDB3.csv", "a") 
     saveFile.write(saveThis) 
     saveFile.write("\n") 
     saveFile.close() 
     return True 

    except BaseException, e: 
     print "failed ondata,",str(e) 
     time.sleep(5) 

def on_error(self, status): 
    print status 

auth = OAuthHandler(ckey, csecret) 
auth.set_access_token(atoken, asecret) 
twitterStream = Stream(auth, listener()) 

twitterStream.filter(track = ['오늘']) 

例如:處理的unicode在python2結果的

1465042178.01 :: RT @BTS_twt:韓國#\ ud83c \ uddf0 \ ud83c \ uddf7 https://t.co/zwKaGo4Lcj 1465042181.76 :: RT @wdfrog:\ ud5e4 \ ub7f4 \ ub4dc \ uacbd \ uc81c \ uac00 \ uc774 \ ubc88 \ uc77c \ ub85c \ uc0ac \ uacfc \ ubb38 \ uc744 \ uc62c \ ub838 \ uc9c0 \ ub9cc \ uc774 \ uc790 \ ub4e4 \ uc740 \ ubd88 \ uacfc 3 \ uac1c \ uc6d4 \ uc804 \ uc778 3 \ uc6d4 4 \ uc77c \ uc5d0 \ ub3c4 \ uc55e \ uc73c \ ub85c \ uc870 \ uc2ec \ ud558 \ uaca0 \ ub2e4 \ ub294 \ uc0ac \ uacfc \ ubb38 \ uc744 \ uc62c \ ub9b0 \ ubc14 \ uc788 \ ub2e4。 \ uc77c \ uc774 \ ucee4 \ uc9c8 \ uae4c \ uba74 \ ud53c \ ud558 \ ub294 \ uac83 \ uc774 \ ub2c8 \ uc5b8 \ ub860 \ uc911 \ uc7ac \ uc704 \ uc5d0 \ ud55c \ uce35 \ uac00 \ uc5f4 \ ucc28 \ uac8c \ ubbfc \ uc6d0 \ uc744 \ ub123 \ uc74d \ uc2dc \ ub2e4 \ nhttps://t.co/Wb \ U2026

問:

如果我通過Twitter的API流上面的代碼(使用韓文字符) 上面的消息是在excel文件中創建的顯示爲unicode的內容。
這些unicodes有相應的韓文字符,可以通過打印找到u'string'
但是有可能使所有這些unicodes自動轉換爲韓文嗎? 我試圖修復python代碼,並試圖在excel中解決,但沒有運氣。

+0

一般來說,你最好使用編解碼器庫來編碼(),。解碼()和用你選擇的編碼打開文件。您還應該閱讀這篇關於上面使用的默認編碼更改的危險,以便稍後節省您的麻煩:https://anonbadger.wordpress.com/2015/06/16/why-sys-setdefaultencoding-will-break-code / – Lost

回答

1

儘管setdefaultencoding方法,您不能更改python 2.7中的默認編碼。你應該使用python 3,(默認編碼是UTF-8,你可以改變它)