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

