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