python3的requests解析中文頁面出現亂碼的解決方法

第一部分 關於requests庫

(1)requests是一個很實用的Python HTTP客戶端庫,編寫爬蟲和測試服務器響應數據時常常會用到。
(2)其中的Request對象在訪問服務器後會返回一個Response對象,這個對象將返回的Http響應字節碼保存到content屬性中。
(3)可是若是你訪問另外一個屬性text時,會返回一個unicode對象,亂碼問題就會經常發成在這裏。
(4)由於Response對象會經過另外一個屬性encoding來將字節碼編碼成unicode,而這個encoding屬性竟然是responses本身猜出來的。

第二部分 解決方法

因此要麼你直接使用content(字節碼),要麼記得把encoding設置正確,好比我獲取了一段gbk編碼的網頁,就須要如下方法才能獲得正確的unicode。
import requests
url = "http://xxx.xxx.xxx"
response = requests.get(url)
response.encoding = 'gbk'
 
print(response.text)
相關文章
相關標籤/搜索