昨天分析爬蟲接口時 發現返回數據 json轉化時出錯 經過檢查發現問題是 json字符串中有
\x3E
、\x2F
這種編碼字符串,
開始解決思路就是把16進制轉化爲普通字符串結果不行
原因
編碼問題 本來這些返回數據是需要前端js 去解析的
\x
開頭的16進制數據 是js的表示方法
0x
開頭 纔是python 16進制的表示方法
所以返回的數據不處理 直接用python 去解析會出現異常
解決辦法
在 處理之前 先對返回的數據 進行編碼格式處理
res = response.content.decode('unicode_escape').encode('latin1').decode()
當然如果你是要直接對字符串進行處理的話 需要先轉成字節碼 然後對字節數據進行編碼
可以用下邊的方式
res = bytes(res_str, 'utf-8').decode('unicode_escape').encode('latin1').decode('utf-8')