国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python中requests爬去網頁內容出現亂碼問題解決方法介紹

2020-02-16 10:28:06
字體:
來源:轉載
供稿:網友

最近在學習python爬蟲,使用requests的時候遇到了不少的問題,比如說在requests中如何使用cookies進行登錄驗證,這可以查看這篇文章。這篇博客要解決的問題是如何避免在使用requests的時候出現亂碼。

import requests  res=requests.get("https://www.baidu.com")  print res.content

以上就是使用requests進行簡單的網頁請求數據的方式。但是很容易出現亂碼的問題。

我們可以通過在網頁上右擊查看源代碼中查看編碼方式:content="text/html;charset=utf-8"->

我們便可以知道網頁的編碼方式是utf8.由于中文的編碼方式為gbk,所以我們需要將編碼方式改變為gbk。

我查看了一些資料,說requests可以自動獲取網頁的編碼方式的,并且通過res.encode輸出一看是utf8,是的 沒錯。但是輸出來的內容中文存在亂碼。 有說可以直接指定獲取到內容的encode屬性即可,"res.encode='gbk'",但我嘗試了不可以的。

python內部的編碼方式為utf8,也就是說python在處理其他字符串內容的時候首先要先將內容轉化為utf8的編碼方式,然后在解碼為你想要的編碼方式輸出。

例如s=”中文” 為str類型的字符串 編碼方式為gb2312

需要 s.decode("gb2312")將gb2312編碼方式的內容解碼為Unicode編碼

然后輸出的時候要將s的編碼方式規定為gbk->s.encode("gbk")

言歸正傳,我們獲取到網頁內容res后, 通過res.content.decode("utf8","ignore").encode("gbk","ignore")就不會有亂碼了。

這里所使用的ignore屬性意思是忽略其中有一場的編碼,僅顯示有效的編碼。

總結

以上就是本文關于python中requests爬去網頁內容出現亂碼問題解決方法的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站:python編程之requests在網絡請求中添加cookies參數方法詳解、Python_LDA實現方法詳解等,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 通许县| 扎囊县| 天等县| 昌江| 天津市| 齐齐哈尔市| 北票市| 若羌县| 漯河市| 西藏| 贵溪市| 巨野县| 阳春市| 叙永县| 库车县| 临邑县| 海门市| 兴城市| 大邑县| 枣阳市| 东莞市| 文水县| 泰宁县| 屏山县| 唐山市| 大城县| 阜宁县| 宁蒗| 福州市| 景宁| 柘荣县| 河池市| 旬邑县| 简阳市| 开封县| 宜兰市| 无锡市| 阳西县| 聊城市| 尤溪县| 六安市|