python2.7打印接口返回的数据时提示[Decode error - output not utf-8]
阿神
阿神 2017-04-17 17:35:45
0
3
466

打印接口返回的数据,提示[Decode error - output not utf-8]

代码如下:

-- coding=utf-8 --

import urllib2
import json
import sys

reload(sys)
sys.setdefaultencoding('utf-8')

html = urllib2.urlopen(r'http://api.douban.com/v2/book/isbn/9787218087351')
content=html.read()
content = content.decode('UTF-8')
hjson = json.loads(content)

print u' '

print hjson['rating']

print hjson'images'

print hjson['summary']

如果不注释上图圈的一行代码就能正常打印。新手小白请大神指教

阿神
阿神

闭关修行中......

répondre à tous(3)
伊谢尔伦

Cela a quelque chose à voir avec le terminal sublime. Il peut ne prendre en charge que utf-8. Parce que le contenu de votre hjson est unicode, il n'est pas pris en charge une fois imprimé. Essayez de l'encoder en utf-8 :

.
 print hjson['summary'].encode('utf-8')
伊谢尔伦

Sublime, veuillez d'abord essayer d'exécuter le programme sur la ligne de commande pour voir si une erreur sera signalée.

Si la ligne de commande est normale, cela devrait être un problème d'encodage causé par le chinois. Vérifiez l'encodage par défaut de votre fichier Sublime Il est écrit dans le coin inférieur gauche ou inférieur droit. , remplacez-le par utf-8 Essayez-le. utf-8

Peter_Zhu

coding=utf-8

requêtes d'importation, json
r = requêtes.get('http://api.douban.com/v2/book/isbn/9787218087351')
obj = json.loads(r.text)
print obj['summary']

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal