搜尋

首頁  >  問答  >  主體

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

打印接口返回的数据,提示[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']

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

阿神阿神2889 天前472

全部回覆(3)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:37:45

    這個跟sublime的終端有關係, 可能是只支持utf-8吧,因為你的hjson裡面的內容是unicode, 所以打印出來不支持, 編碼為utf-8試一下:

     print hjson['summary'].encode('utf-8')

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 17:37:45

    Sublime的問題,你先試試在命令列執行程式會不會報錯。 Sublime的问题,你先试试在命令行里执行程序会不会报错。

    命令行正常的话,这个应该是中文导致的编码问题,你看下你的Sublime的文件默认编码,左下角或者右下角有写,如果不是utf-8,就改成utf-8

    命令列正常的話,這應該是中文導致的編碼問題,你看下你的Sublime的檔案預設編碼,左下角或右下角有寫,如果不是utf -8,就改成utf-8試試。 #🎜🎜#

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 17:37:45

    編碼=utf-8

    導入請求,json
    r = requests.get('http://api.douban.com/v2/book/isbn/9787218087351')
    obj = json.loads(r.text)
    print obj['summary' 】

    回覆
    0
  • 取消回覆