打印接口返回的数据,提示[Decode error - output not 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 hjson['summary']
如果不注释上图圈的一行代码就能正常打印。新手小白请大神指教
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 :
.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 parutf-8
Essayez-le.utf-8
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']