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警察与小偷的实现之一客户端与服务端通信实例
Oct 09 Python
Python实现的简单算术游戏实例
May 26 Python
python实现web方式logview的方法
Aug 10 Python
Python实现计算两个时间之间相差天数的方法
May 10 Python
pyqt5简介及安装方法介绍
Jan 31 Python
解决Django migrate不能发现app.models的表问题
Aug 31 Python
pygame编写音乐播放器的实现代码示例
Nov 19 Python
如何在django中实现分页功能
Apr 22 Python
Python用户自定义异常的实现
Dec 25 Python
利用python查看数组中的所有元素是否相同
Jan 08 Python
基于Python的接口自动化unittest测试框架和ddt数据驱动详解
Jan 27 Python
python中@contextmanager实例用法
Feb 07 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 json_encode值中大括号与花括号区别
2013/09/30 PHP
CI框架中zip类应用示例
2014/06/17 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
关于IE7 IE8弹出窗口顶上
2008/12/22 Javascript
jQuery 美元符冲突的解决方法
2010/03/28 Javascript
javascript最常用与实用的创建类的代码
2010/08/12 Javascript
理解Javascript_10_对象模型
2010/10/16 Javascript
jquery实现网站超链接和图片提示效果
2013/03/21 Javascript
在JavaScript里嵌入大量字符串常量的实现方法
2013/07/07 Javascript
多选列表框动态添加,移动,删除,全选等操作的简单实例
2014/01/13 Javascript
Javascript进制转换实例分析
2015/05/14 Javascript
简述JavaScript的正则表达式中test()方法的使用
2015/06/16 Javascript
微信小程序网络请求的封装与填坑之路
2017/04/01 Javascript
详解Python编程中time模块的使用
2015/11/20 Python
python实现从pdf文件中提取文本,并自动翻译的方法
2018/11/28 Python
对PyQt5中的菜单栏和工具栏实例详解
2019/06/20 Python
python3 线性回归验证方法
2019/07/09 Python
Django--权限Permissions的例子
2019/08/28 Python
Python+OpenCV实现图像的全景拼接
2020/03/05 Python
使用Python matplotlib作图时,设置横纵坐标轴数值以百分比(%)显示
2020/05/16 Python
Python开发入门——迭代的基本使用
2020/09/03 Python
python 下载m3u8视频的示例代码
2020/11/11 Python
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
美国在线眼镜店:GlassesShop
2018/11/15 全球购物
班主任新年寄语
2014/04/04 职场文书
电台编导求职信
2014/05/06 职场文书
学雷锋标语
2014/06/25 职场文书
投标承诺函范文
2015/01/21 职场文书
《自己去吧》教学反思
2016/02/16 职场文书
python基于tkinter制作无损音乐下载工具
2021/03/29 Python
Navicat for MySQL的使用教程详解
2021/05/27 MySQL
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python
Python通用验证码识别OCR库ddddocr的安装使用教程
2022/07/07 Python
使用CSS实现音波加载效果
2023/05/07 HTML / CSS