编码适用于 1 而不是 Twitter 中使用 python 的其他列表

Posted

技术标签:

【中文标题】编码适用于 1 而不是 Twitter 中使用 python 的其他列表【英文标题】:Encoding works for 1 and not for other list in Twitter using python 【发布时间】:2019-07-06 13:27:06 【问题描述】:

我正在尝试使用 twitter 模块和 python 从 twitter 开始作弊数据。这是我的代码

import twitter

import win_unicode_console
win_unicode_console.enable()


CONSUMER_KEY = 'xxxxxxxxxxxxxxxxxx'
CONSUMER_SECRET = 'xxxxxxxxxxxxxxx'
OAUTH_TOKEN = 'xxxxxxxxxxxxxxxxx'
OAUTH_TOKEN_SECRET = 'xxxxxxxxxxxx'

auth = twitter.oauth.OAuth(OAUTH_TOKEN, OAUTH_TOKEN_SECRET,
                       CONSUMER_KEY, CONSUMER_SECRET)
twitter_api = twitter.Twitter(auth=auth)

print(twitter_api)

WORLD_WOE_ID = 1
US_WOE_ID = 23424977

world_trends = twitter_api.trends.place(_id=WORLD_WOE_ID)
us_trends = twitter_api.trends.place(_id=US_WOE_ID)

print(us_trends)
print(world_trends)

我收到编码错误。所以我用了

print((us_trends).encode('utf-8'))

导致

AttributeError: 'TwitterListResponse' object has no attribute 'encode'

所以我决定使用 win_unicode_console 模块

但令人困惑的是 us_trends 是返回值。

['trends': ['name': 'El Chapo', 'url': 'http://twitter.com/search?q=%22El+Chapo%22', 'promoted_content': None, 'query': '%22El+Chapo%22', 'tweet_volume': 103536, 'name': 'Antonio Brown', 'url': 'http://twitter.com/search?q=%22Antonio+Brown%22', 'promoted_

但是声明

print(world_trends)

给出以下错误

File "C:\Users\nawendu\Desktop\TWIT.PY", line 25, in <module>
print(world_trends)
File 
line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_table)[0]
UnicodeEncodeError: 'charmap' codec can't encode characters in position 24- 
29: character maps to <undefined>

编码如何在我们的趋势中起作用而不是在世界趋势中起作用?

【问题讨论】:

我使用的是 windows-10 机器和 ATOM 编辑器 【参考方案1】:

encode 是一个字符串的方法。

你有一个json对象,它没有这个方法。

当您print 一个对象时,它需要将该对象转换为您的输出编码的字符串表示形式(此处可能是 windows 编码)。如果其中有字符(例如表情符号)不在输出编码中,则会出现错误。

编码是一个困难的话题(也是 Python 中的一个痛点),但如果您想打印输出,则需要了解它们。

【讨论】:

以上是关于编码适用于 1 而不是 Twitter 中使用 python 的其他列表的主要内容,如果未能解决你的问题,请参考以下文章

如何使 Twitter Bootstrap 工具提示有多行?

使用适用于 iOS 的 AddThis SDK,需要更改默认 Twitter 文本的“通过 @AddThis”

如何使用适用于 Android 的 Fabric Sdk 从 Twitter 注销

编码参数是不是适用于 pandas.read_excel?

FileOpenDialog 生成的 CDN_SELCHANGE 通知消息适用于 32 位构建而不是 64 位构建

适用于 iOS4 的 Phonegap 推特插件