解決python3中的requests解析中文頁(yè)面出現(xiàn)亂碼問(wèn)題
第一部分 關(guān)于requests庫(kù)
(1) requests是一個(gè)很實(shí)用的Python HTTP客戶(hù)端庫(kù),編寫(xiě)爬蟲(chóng)和測(cè)試服務(wù)器響應(yīng)數(shù)據(jù)時(shí)經(jīng)常會(huì)用到。
(2) 其中的Request對(duì)象在訪問(wèn)服務(wù)器后會(huì)返回一個(gè)Response對(duì)象,這個(gè)對(duì)象將返回的Http響應(yīng)字節(jié)碼保存到content屬性中。
(3) 但是如果你訪問(wèn)另一個(gè)屬性text時(shí),會(huì)返回一個(gè)unicode對(duì)象,亂碼問(wèn)題就會(huì)常常發(fā)成在這里。
(4) 因?yàn)镽esponse對(duì)象會(huì)通過(guò)另一個(gè)屬性encoding來(lái)將字節(jié)碼編碼成unicode,而這個(gè)encoding屬性居然是responses自己猜出來(lái)的。
第二部分 解決方法
所以要么你直接使用content(字節(jié)碼),要么記得把encoding設(shè)置正確,比如我獲取了一段gbk編碼的網(wǎng)頁(yè),就需要以下方法才能得到正確的unicode。
import requests url = "http://xxx.xxx.xxx" response = requests.get(url) response.encoding = 'gbk' print(response.text)
總結(jié)
以上所述是小編給大家介紹的解決python3中的requests解析中文頁(yè)面出現(xiàn)亂碼問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
在Django中創(chuàng)建第一個(gè)靜態(tài)視圖
這篇文章主要介紹了在Django中創(chuàng)建第一個(gè)靜態(tài)視圖的方法,與其他編程語(yǔ)言的開(kāi)始一樣,以Hello world作為示例,需要的朋友可以參考下2015-07-07Python初學(xué)者需要注意的事項(xiàng)小結(jié)(python2與python3)
這篇文章主要介紹了Python初學(xué)者需要注意的事項(xiàng)小結(jié),包括了python2與python3的一些區(qū)別,需要的朋友可以參考下2018-09-09使用Numpy讀取CSV文件,并進(jìn)行行列刪除的操作方法
今天小編就為大家分享一篇使用Numpy讀取CSV文件,并進(jìn)行行列刪除的操作方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07PyQt5連接MySQL及QMYSQL driver not loaded錯(cuò)誤解決
這篇文章主要介紹了PyQt5連接MySQL及QMYSQL driver not loaded錯(cuò)誤解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04使用python的pandas讀取excel文件中的數(shù)據(jù)詳情
這篇文章主要介紹了使用python的pandas讀取excel文件中的數(shù)據(jù)詳情,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09