Python網路爬蟲出現亂碼問題的解決方法

高洛峰
發布: 2017-02-11 13:13:46
原創
1400 人瀏覽過

這篇文章主要為大家詳細介紹了Python網絡爬蟲出現亂碼問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

關於爬蟲亂碼有很多各式各樣的問題,這裡不只是中文亂碼,編碼轉換、還包括一些如日文、韓文、俄文、藏文之類的亂碼處理,因為解決方式是一致的,故在此統一說明。

網路爬蟲出現亂碼的原因

來源網頁編碼和爬取下來後的編碼格式不一致。
如來源網頁為gbk編碼的位元組流,而我們抓取下後程式直接使用utf-8進行編碼並輸出到儲存檔案中,這必然會引起亂碼即當來源網頁編碼和抓取下來後程式直接使用處理編碼一致時,則不會出現亂碼; 此時再進行統一的字符編碼也就不會出現亂碼了

注意區分

  • 源網編碼A、

  • 源網編碼A、

  • 編碼B、

統一轉換字元的編碼C。

亂碼的解決方法

確定來源網頁的編碼A,編碼A往往在網頁中的三個位置


1.http header的Content-Type

伺服器header 的網站可以透過它來告知瀏覽器一些頁面內容的相關資訊。 Content-Type 這一條目的寫法就是 "text/html; charset=utf-8"。


2.meta charset


3.網頁頭中Document定義