2015-10-19 2 views
0

Я работаю над модулем tweety, и я пробовал использовать этот код для написания турецкого языка (на турецком языке некоторые charecter не поддерживают ascii, такие как ğ, ş, ö, ç, İ, ı), но мне нужно четко целые данные.Как я могу исправить кодировку в tweepy?

from tweepy import Stream 
from tweepy import OAuthHandler 
from tweepy.streaming import StreamListener 
import time 

ckey = "****" 
csecret = "****" 
atoken = "****" 
asecret = "****" 


class listener(StreamListener): 

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

    def on_error(self,status): 
     print status 

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

twitterStream = Stream(auth,listener()) 
twitterStream.filter(track = ["galatasaray"]) 

это дает мне

1445282560.38::RT @EndlesGALA: T\u00fcrkiyedir #Galatasaray \nKim daha b\u00fcy\u00fck tart\u0131smayal\u0131m isterseniz http:\/\/t.co\/0K6jLC0CHd 
1445282563.02::RT @Gkhanutkan1907: Galatasaray'\u0131 Her Sene Yenmek Bizim \u0130\u00e7in Ba\u015far\u0131 De\u011fil Genlerimizde Olan Bir GELENEKT\u0130R! 
1445282563.26::22:22 GALATASARAY 
1445282564.84::RT @mthnzncrkrn: Karanl\u0131k Elbet Kavu\u015fur Ayd\u0131nl\u0131\u011fa. Allah yard\u0131mc\u0131n olsun Kadir BABA .\nGALATASARAY taraftar\u0131 hep seninle! #KadirAkta\u015fSu\u00e7suzd\u2026 
1445282569.29::RT @EndlesGALA: T\u00fcrkiyedir #Galatasaray \nKim daha b\u00fcy\u00fck tart\u0131smayal\u0131m isterseniz http:\/\/t.co\/0K6jLC0CHd 
1445282570.29::Fenerbah\u00e7e - Galatasaray derbisinin biletlerine yo\u011fun ilgi: https:\/\/t.co\/VZ2whsiZNo 
1445282571.2::RT @EndlesGALA: T\u00fcrkiyedir #Galatasaray \nKim daha b\u00fcy\u00fck tart\u0131smayal\u0131m isterseniz http:\/\/t.co\/0K6jLC0CHd 
1445282571.95::Kom\u015fularla s\u0131f\u0131r sorundan s\u0131f\u0131r kom\u015fuya!! #galatasaray #NTV #yakinda #Bug\u00fcnTV #Ak\u015fam #Takvim #D\u00fcnyaKahveG\u00fcn\u00fC#menzil https:\/\/t.co\/bcHNoG4UMN 

Как я могу исправить?

+0

Возможный дубликат [Проблемы с кодировкой Python] (http://stackoverflow.com/questions/2006115/python-encoding-issue) – Prune

+0

Нет, это проблема json ... –

+0

Я удалил ваш ключ/токены Я бы предложил вы создаете новые, а не делитесь снова. – Leb

ответ

2

tweepy дает вам данные в формате JSON, такие как почти все веб-службы в мире.

tweet = data.split(',"text":"')[1].split('","source')[0] 

Это неправильный способ борьбы с json. делать вместо этого:

import json (at top of script) 

затем:

class listener(StreamListener): 
    def on_data(self,data): 
     tweet = json.loads(data) 
     print tweet 

твит будет классический объект питона. вот его дикт.

Смежные вопросы