鍍金池/ 問(wèn)答/Python  Linux/ 返回的數(shù)據(jù)異常,無(wú)法理解,無(wú)思路,經(jīng)驗(yàn)不足,請(qǐng)看代碼,謝謝!

返回的數(shù)據(jù)異常,無(wú)法理解,無(wú)思路,經(jīng)驗(yàn)不足,請(qǐng)看代碼,謝謝!

import requests
url = 'https://www.zhihu.com/people/kaifulee/activities'
headers = {
  'authorization': 'oauth c3cef7c66a1843f8b3a9e6a1e3160e20',
  'accept': 'application/json, text/plain, */*',
  'accept-encoding': 'deflate, br',
  'accept-language': 'zh-CN,zh;q=0.9',
  'referer': 'https://www.zhihu.com/people/tan-shi-san-57/following',
  'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',
  'x-udid': 'AIBCI1Wl0gyPTn67_E1wN4NxZ3rOI2offMM=',

}

r = requests.get(url, headers=headers)
print(r.headers['content-type'], r.encoding)
print(r.text)

打印部分輸出:

text/html; charset=utf-8 utf-8
???Z??=?j?t yrb.@?m?5&H疦?6???Mj??y????????IР?????3????tA5S?!???W???f???ef?R????BX5??p:???s?p??5A-?K?!$?xr?
?? ~?2t???%C?????p7|??GA??6w????)??p???~??8???;8??8?Ya???????z??????L?qX??KN?????$Ad?Q0H?f?RY-?? V??huZ&JP?<?5?5+????????$R? ??)T?>?2TAi??C??{y??,?v)?M?.?7q???9?3A??????@??5??b>????5G?%sR??2o???@????o??4P??`??s???LjmL???1=????5?9?(?? }???s/ Qe?ml??????}?s?????Tr"?>??

回答
編輯回答
柒槿年

'accept-encoding': 'deflate, br',
你把這個(gè)去掉,就返回正常了;你現(xiàn)在這個(gè)是返回的是壓縮了的,除非你讀取響應(yīng)頭,看看服務(wù)端到底使用何種壓縮算法,進(jìn)行解壓。

2017年8月27日 22:30