(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)