2016-06-07 94 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,你可以改变它)