【问题标题】:How can I fix Encoding in tweepy?如何修复 tweepy 中的编码?
【发布时间】:2015-10-19 19:48:43
【问题描述】:

我正在开发 tweety 模块,我尝试使用此代码通过书面土耳其语获取推文(在土耳其语中,某些字符不支持 ascii,例如 ğ,ş,ö,ç,İ,ı)但我需要显然是完整的数据。

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

我该如何解决?

【问题讨论】:

  • Python Encoding Issue的可能重复
  • 不,这是一个 json 问题...
  • 我删除了你的密钥/令牌我建议你生成新的并且不再分享。

标签: python encoding computer-science tweepy


【解决方案1】:

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

tweet 将是一个经典的 python 对象。这是一个字典。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-09
    • 2014-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多