Python爬取網站返回的內容為亂碼解決方法


1、爬取某網站內容時,返回的結果為亂碼,如圖:

2、寫在前面的解釋

Requests會基於HTTP頭部響應的編碼做出有根據的推測,當訪問r.text時,Requests會使用其推測的文本編碼。

查看網頁返回的字符集類型:r.apparent_encoding

查看自動判斷的字符集類型:r.encoding

可以看到Requests推測的文本編碼(ISO-8859-1)與源網頁編碼(utf-8) 不一致,因此會導致亂碼問題的出現。

注:源網頁也能直接查看編碼格式,如下圖:

3、解決方法

這里要注意順序,需要先指定r.encoding的編碼格式,再訪問r.text。即第9行代碼必須寫在第10行代碼之前。

(1)方法一:直接指定r.encoding為源網頁的編碼格式

r.encoding="utf-8"

(2)方法二:通過r.apparent_encoding屬性來指定,直接將其值賦給r.encoding

r.encoding = r.apparent_encoding

(3)方法三:通過編碼、解碼的方式

4、亂碼問題解決

--------結束----------
轉發:https://www.cnblogs.com/tufeixiaopengyou/p/14385389.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM