這裡從網頁的壓縮方式提供兩種解決方法。
方法1:
檢視headers
中是否設定:
'accept-encoding'
:'gzip, deflate, br'
,
如果有,修改為:
'accept-encoding'
:'gzip'
,
方法2:
安裝brotlipy。
import brotli
data = brotli.decompress(compressed_data)
原因:
原因為你同意了該種壓縮方式後,有的伺服器便採用了br
這種壓縮方法,該種壓縮的解壓方式目前還不是requests
或aiohttp
等爬蟲庫預設支援的。
其它:建議首先嘗試上述的方式,這通常已經能解決問題了。
以上如果還沒有解決,可以從編碼方面下手做解決思路,為解碼時指定編碼。
Python爬蟲解決亂碼問題
問題原因 爬取的所有網頁無論何種編碼格式,都轉化為utf 8格式進行儲存,與源 編碼格式不同所以出現亂碼。目前大部分都是utf 8格式,一部分是gbk格式或者 會出現亂碼 還有一些不常見的,比如windows 1254,utf 8 sig等這裡不做討論。國內網頁還沒有看到別的編碼格式,歡迎補充指正!...
解決python爬蟲中文亂碼問題
首先網頁時可能採用不同編碼的,類似這個我爬取的網頁 當我直接使用.text函式列印時會出現如下亂碼 嘗試編碼結果 print strhtml.text.encode utf8 但發現明顯中文被變成了位元組 可以明顯的發現此處用於解碼的encoding是繼承自父類strhtml的,而沒有設定過的話父類...
亂碼的解決思路
推薦文章 1.理解清楚字元 字元集合 字元編碼方式 2.ucs 是通用字符集的簡稱,同unicode字符集是一套字元集合,ucs是iso組織的.3.亂碼的原因是,字元編碼方式 和 解碼方式不一致.a.先檢查putty或者secucecrt的字元編碼方式 如 指定為utf 8 b.其次檢查系統的語言環...