python中requests爬去网页内容出现乱码问题解决方法介绍


Posted in Python onOctober 25, 2017

最近在学习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实现方法详解等,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python读取浮点数和读取文本文件示例
May 06 Python
Python设计模式编程中解释器模式的简单程序示例分享
Mar 02 Python
详解Python 序列化Serialize 和 反序列化Deserialize
Aug 20 Python
python 获取utc时间转化为本地时间的方法
Dec 31 Python
简单了解Python生成器是什么
Jul 02 Python
详解PyTorch中Tensor的高阶操作
Aug 18 Python
Python对列表的操作知识点详解
Aug 20 Python
python名片管理系统开发
Jun 18 Python
python怎么删除缓存文件
Jul 19 Python
Python利用命名空间解析XML文档
Aug 10 Python
python的链表基础知识点
Sep 13 Python
Python 可视化神器Plotly详解
Dec 26 Python
python编程之requests在网络请求中添加cookies参数方法详解
Oct 25 #Python
Python探索之pLSA实现代码
Oct 25 #Python
python正则表达式re之compile函数解析
Oct 25 #Python
Python2和Python3中print的用法示例总结
Oct 25 #Python
Python_LDA实现方法详解
Oct 25 #Python
python+mongodb数据抓取详细介绍
Oct 25 #Python
python装饰器实例大详解
Oct 25 #Python
You might like
《PHP编程最快明白》第三讲:php数组
2010/11/01 PHP
php版本的cron定时任务执行器使用实例
2014/08/19 PHP
php简单获取目录列表的方法
2015/03/24 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
ASP.NET中AJAX 调用实例代码
2012/05/03 Javascript
jquery移除button的inline onclick事件(已测试及兼容浏览器)
2013/01/25 Javascript
使用text方法获取Html元素文本信息示例
2014/09/01 Javascript
JS+CSS实现简单的二级下拉导航菜单效果
2015/09/21 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
JavaScript实现刷新不重记的倒计时
2016/08/10 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
详解jQuery-each()方法
2019/03/13 jQuery
vue+element加入签名效果(移动端可用)
2019/06/17 Javascript
基于jQuery的时间戳与日期间的转化
2019/06/21 jQuery
使用Vue+Django+Ant Design做一个留言评论模块的示例代码
2020/06/01 Javascript
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
python解析html开发库pyquery使用方法
2014/02/07 Python
python实现绘制树枝简单示例
2014/07/24 Python
利用pyinstaller或virtualenv将python程序打包详解
2017/03/22 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
Python callable()函数用法实例分析
2018/03/17 Python
为什么从Python 3.6开始字典有序并效率更高
2019/07/15 Python
python如何进行矩阵运算
2020/06/05 Python
利用Storage Event实现页面间通信的示例代码
2018/07/26 HTML / CSS
Daisy London官网:英国最大的首饰集团IBB旗下
2019/02/28 全球购物
高一新生军训感言
2014/03/02 职场文书
购房协议书
2014/04/11 职场文书
户籍证明格式
2014/09/15 职场文书
医院领导班子查摆问题对照检查材料思想汇报
2014/10/08 职场文书
乱丢垃圾袋检讨书
2014/10/08 职场文书
家属联谊会致辞
2015/07/31 职场文书
法律服务所工作总结
2015/08/10 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书
Mysql8.0递归查询的简单用法示例
2021/08/04 MySQL
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python