python中requests爬去網(wǎng)頁內(nèi)容出現(xiàn)亂碼問題解決方法介紹
最近在學(xué)習(xí)python爬蟲,使用requests的時(shí)候遇到了不少的問題,比如說在requests中如何使用cookies進(jìn)行登錄驗(yàn)證,這可以查看這篇文章。這篇博客要解決的問題是如何避免在使用requests的時(shí)候出現(xiàn)亂碼。
import requests
res=requests.get("https://www.baidu.com")
print res.content
以上就是使用requests進(jìn)行簡單的網(wǎng)頁請求數(shù)據(jù)的方式。但是很容易出現(xiàn)亂碼的問題。
我們可以通過在網(wǎng)頁上右擊查看源代碼中查看編碼方式:content="text/html;charset=utf-8"->
我們便可以知道網(wǎng)頁的編碼方式是utf8.由于中文的編碼方式為gbk,所以我們需要將編碼方式改變?yōu)間bk。
我查看了一些資料,說requests可以自動(dòng)獲取網(wǎng)頁的編碼方式的,并且通過res.encode輸出一看是utf8,是的 沒錯(cuò)。但是輸出來的內(nèi)容中文存在亂碼。 有說可以直接指定獲取到內(nèi)容的encode屬性即可,"res.encode='gbk'",但我嘗試了不可以的。
python內(nèi)部的編碼方式為utf8,也就是說python在處理其他字符串內(nèi)容的時(shí)候首先要先將內(nèi)容轉(zhuǎn)化為utf8的編碼方式,然后在解碼為你想要的編碼方式輸出。
例如s=”中文” 為str類型的字符串 編碼方式為gb2312
需要 s.decode("gb2312")將gb2312編碼方式的內(nèi)容解碼為Unicode編碼
然后輸出的時(shí)候要將s的編碼方式規(guī)定為gbk->s.encode("gbk")
言歸正傳,我們獲取到網(wǎng)頁內(nèi)容res后, 通過res.content.decode("utf8","ignore").encode("gbk","ignore")就不會(huì)有亂碼了。
這里所使用的ignore屬性意思是忽略其中有一場的編碼,僅顯示有效的編碼。
總結(jié)
以上就是本文關(guān)于python中requests爬去網(wǎng)頁內(nèi)容出現(xiàn)亂碼問題解決方法的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:python編程之requests在網(wǎng)絡(luò)請求中添加cookies參數(shù)方法詳解、Python_LDA實(shí)現(xiàn)方法詳解等,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
相關(guān)文章
Python如何把不同類型數(shù)據(jù)的json序列化
這篇文章主要介紹了Python如何把不同類型數(shù)據(jù)的json序列化,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04
PyTorch 實(shí)現(xiàn)L2正則化以及Dropout的操作
這篇文章主要介紹了PyTorch 實(shí)現(xiàn)L2正則化以及Dropout的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Python與AI分析時(shí)間序列數(shù)據(jù)
預(yù)測給定輸入序列中的下一個(gè)是機(jī)器學(xué)習(xí)中的另一個(gè)重要概念.本章為您提供有關(guān)分析時(shí)間序列數(shù)據(jù)的詳細(xì)說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助2022-05-05
Python3合并兩個(gè)有序數(shù)組代碼實(shí)例
這篇文章主要介紹了Python3合并兩個(gè)有序數(shù)組代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
找不到Anaconda prompt終端的原因分析及解決方案
因?yàn)閍naconda還沒有初始化,在安裝anaconda的過程中,有一行是否要添加anaconda到菜單目錄中,由于沒有勾選,導(dǎo)致沒有菜單部分的初始化,故找不到,這篇文章主要介紹了找不到Anaconda prompt終端的原因分析及解決方案,需要的朋友可以參考下2025-03-03
利用Python實(shí)現(xiàn)讀取Word表格計(jì)算匯總并寫入Excel
這篇文章主要給大家介紹了關(guān)于如何利用Python實(shí)現(xiàn)讀取Word表格計(jì)算匯總并寫入Excel的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-01-01

