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

首頁 > 編程 > Python > 正文

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

2020-01-04 16:39:38
字體:
來源:轉載
供稿:網友

最近在學習python/54638.html">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爬去網頁內容出現亂碼問題解決方法的全部內容,希望對大家有所幫助。如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扎鲁特旗| 景宁| 扶风县| 鄂伦春自治旗| 朝阳县| 西华县| 博兴县| 鄂尔多斯市| 丹东市| 西充县| 治多县| 离岛区| 宁安市| 丰都县| 新绛县| 西贡区| 三门峡市| 贺州市| 芜湖市| 赤城县| 喀什市| 江油市| 鄄城县| 龙陵县| 呼伦贝尔市| 会宁县| 巩义市| 泸溪县| 秦安县| 林周县| 山阴县| 邯郸县| 大埔区| 眉山市| 进贤县| 高台县| 焉耆| 依兰县| 阳山县| 静海县| 乐清市|