使用Tweepy以英语以外的其他语言更新Twitter时出错。

2024-10-03 09:11:28 发布

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

我在使用与ASCII不同的字符的Tweepy时遇到问题。我尝试了许多不同的方法,但每种方法在终端上都有不同的错误。在

所以,首先,我做所有Twitter要求的舞蹈,然后输入我需要的:

from lxml import html
import requests
from random import randint
import tweepy, sys, time
import requests
import unicodedata

consumer_key="x"
consumer_secret="y"
access_token="z"
access_token_secret="w"
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

然后,我去一个网站找句子发微博。在

^{pr2}$

当我试图转换一个句子时,我找不到适合这个函数的格式api.update_satus更新()和我在每次不同的尝试中都会收到以下错误消息。在

尝试1:

tuite = phrases.pop(0)
api.update_status(tuite)

错误:

UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 0: ordinal not in range(128)

有了这个错误,我发现了thisthisthis和其他一些建议如下的解决方案。不过,我在打印句子时没有问题。我想这就是为什么它没有解决我的问题。在

尝试2

tuite = phrases.pop(0).encode('utf-8')
api.update_status(tuite)

错误:

tweepy.error.TweepError: Failed to send request: Headers indicate a formencoded body but body was not decodable.

有了这个错误,我找不到任何相关的东西。但是我试着把这个句子转换成ASCII格式,就像this问题所说的那样。但我还是有个错误。在

尝试3

title = phrases.pop(0)
tuite = unicodedata.normalize('NFKD', title).encode('ascii','ignore')
api.update_status(tuite)

错误:

tweepy.error.TweepError: [{u'message': u'media_ids parameter is invalid.', u'code': 44}]

我还发现了this问题,但它与媒体更新有关。在

最后

我发现git上的this讨论表明我的问题是一个bug(?)用粗花呢修好。在

有什么想法吗?如果我能将文本转换成api.update_状态()接受。在


Tags: importtokenauthapisecretaccessconsumer错误