搜索中文文本抛出UnicodeEncodeE

2024-10-16 17:16:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用python-twiter来使用Twitter的API搜索tweets,我对中文术语有问题。下面是重现该问题的最小代码示例:

# -*- coding: utf-8 -*-
import twitter

api = twitter.Api(consumer_key = "...", consumer_secret = "...",
                  access_token_key = "...", access_token_secret = "...")

api.VerifyCredentials()
print u"您说英语吗"
r = api.GetSearch(term=u"您说英语吗")

我得到这个错误:

^{2}$

Tags: key代码tokenapi示例secretaccessconsumer
2条回答

似乎GetSearch:https://code.google.com/p/python-twitter/issues/detail?id=210中有一个bug。我试着用俄语搜索“普京”(“Путие”)也得到了同样的错误。玩编码也没用。在

作为解决方法,您可以使用twitter包(https://github.com/sixohsix/twitter):

# -*- coding: utf-8 -*-
from twitter import *

t = Twitter(auth=OAuth(token="...", token_secret="...", consumer_key="...", consumer_secret="...")))

print t.search.tweets(q=u"您说英语吗")

另外,在使用非英语文本之前,请尝试添加下面的代码

import sys

reload(sys)

sys.setdefaultencoding("utf-8")

相关问题 更多 >