python爬蟲一部分中文亂碼一部分中文正常?
前段時間在做爬蟲時遇到過這類的問題,requests的響應內容亂碼,之所以出現了亂碼,是因為沒有正確識別出網頁的encoding編碼。
要想不亂碼,正確邏輯應該是請求到一個網頁后判斷其編碼,比如gb2312,utf-8等,然后使用正確的編碼來解碼。
所以關鍵在于正確的判斷網站的編碼,可以通過網站的html中的charset參數來判斷。
這個可以自己寫一個正則來獲取,網上也有不少的輪子。 但是requests模塊中已經自帶該方法了,就不用重復造輪子了。看requests源碼:
所以請求到網頁內容后先調用apparent_encoding方法,得到網頁的編碼,直接用encoding方法使其正確解碼,一般來說就不會亂碼了
上一篇中文游戲還是亂碼