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 30 Python
使用Python脚本生成随机IP的简单方法
Jul 30 Python
python通过百度地图API获取某地址的经纬度详解
Jan 28 Python
解决sublime+python3无法输出中文的问题
Dec 12 Python
Python查找数组中数值和下标相等的元素示例【二分查找】
Feb 13 Python
在PYQT5中QscrollArea(滚动条)的使用方法
Jun 14 Python
django如何通过类视图使用装饰器
Jul 24 Python
python创建与遍历List二维列表的方法
Aug 16 Python
Python PO设计模式的具体使用
Aug 16 Python
Python进程间通信 multiProcessing Queue队列实现详解
Sep 23 Python
基于Python数据分析之pandas统计分析
Mar 03 Python
Python 爬虫性能相关总结
Aug 03 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学习经验总结)
2014/08/20 PHP
PHP利用APC模块实现文件上传进度条的方法
2015/01/26 PHP
php猴子选大王问题解决方法
2015/05/12 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
PHP parse_ini_file函数的应用与扩展操作示例
2019/01/07 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
JavaScript为对象原型prototype添加属性的两种方式
2010/08/01 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
浏览器窗口大小变化时使用resize事件对框架不起作用的解决方法
2014/05/11 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
JavaScript中判断数据类型的方法总结
2016/05/24 Javascript
Javascript点击其他任意地方隐藏关闭DIV实例
2016/06/21 Javascript
浅谈vue项目4rs vue-router上线后history模式遇到的坑
2018/09/27 Javascript
node.js域名解析实现方法详解
2019/11/05 Javascript
[49:20]2014 DOTA2国际邀请赛中国区预选赛5.21 CIS VS TongFu
2014/05/22 DOTA
[03:02]生活中的Dendi之野外度假篇
2016/08/09 DOTA
对于Python异常处理慎用“except:pass”建议
2015/04/02 Python
使用Python3 编写简单信用卡管理程序
2016/12/21 Python
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
详解Python核心对象类型字符串
2018/02/11 Python
TensorFlow 模型载入方法汇总(小结)
2018/06/19 Python
python 实现将Numpy数组保存为图像
2020/01/09 Python
Python 实现自动完成A4标签排版打印功能
2020/04/09 Python
python实现二分类和多分类的ROC曲线教程
2020/06/15 Python
canvas使用注意点总结
2013/07/19 HTML / CSS
阿拉伯书店:Jamalon
2019/07/24 全球购物
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
文员个人的求职信范文
2013/09/26 职场文书
大学生入党思想汇报
2014/01/01 职场文书
党支部承诺书范文
2014/03/28 职场文书
代办社保委托书范文
2014/10/06 职场文书
党的群众路线教育实践活动心得体会(教师)
2014/10/31 职场文书
2014年小班保育员工作总结
2014/12/23 职场文书
文明上网主题班会
2015/08/14 职场文书
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA