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使用内存zipfile对象在内存中打包文件示例
Apr 30 Python
Python RuntimeError: thread.__init__() not called解决方法
Apr 28 Python
Google开源的Python格式化工具YAPF的安装和使用教程
May 31 Python
简单谈谈Python中的元祖(Tuple)和字典(Dict)
Apr 21 Python
PyQT实现多窗口切换
Apr 20 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
Feb 18 Python
如何通过python画loss曲线的方法
Jun 26 Python
django数据库自动重连的方法实例
Jul 21 Python
python读取指定字节长度的文本方法
Aug 27 Python
Python 矩阵转置的几种方法小结
Dec 02 Python
Pandas缺失值2种处理方式代码实例
Jun 13 Python
图文详解matlab原始处理图像几何变换
Jul 09 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
多文件上传的例子
2006/10/09 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
Laravel 4.2 中队列服务(queue)使用感受
2014/10/30 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
2016/06/13 PHP
微信支付开发交易通知实例
2016/07/12 PHP
PHP智能识别收货地址信息实例
2019/01/05 PHP
随鼠标上下滚动的jquery代码
2013/12/05 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
浅析AngularJS中的生命周期和延迟处理
2015/06/18 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
2016/08/24 Javascript
javascript跨域请求包装函数与用法示例
2016/11/03 Javascript
Bootstrap3 多个模态对话框无法显示的解决方案
2017/02/23 Javascript
React-Native使用Mobx实现购物车功能
2017/09/14 Javascript
总结js中的一些兼容性易错的问题
2017/12/18 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
angularJs利用$scope处理升降序的方法
2018/10/08 Javascript
原生JS实现手动轮播图效果实例代码
2018/11/22 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
关于angular 8.1使用过程中的一些记录
2020/11/25 Javascript
Python 连连看连接算法
2008/11/22 Python
使用python检测主机存活端口及检查存活主机
2015/10/12 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
python获取本机所有IP地址的方法
2018/12/26 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
Django app配置多个数据库代码实例
2019/12/17 Python
python suds访问webservice服务实现
2020/06/26 Python
python 实现aes256加密
2020/11/27 Python
python网络爬虫实现发送短信验证码的方法
2021/02/25 Python
HTML5 移动页面自适应手机屏幕四类方法总结
2017/08/17 HTML / CSS
小学生读书感言
2014/02/12 职场文书
2015年宣传部个人工作总结
2015/05/14 职场文书
热爱劳动主题班会
2015/08/14 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书