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中函数的参数传递与可变长参数介绍
Jun 30 Python
使用Python进行二进制文件读写的简单方法(推荐)
Sep 12 Python
Python机器学习之决策树算法
Dec 22 Python
Python实现时钟显示效果思路详解
Apr 11 Python
python中单下划线_的常见用法总结
Jul 10 Python
解决Pycharm出现的部分快捷键无效问题
Oct 22 Python
Python math库 ln(x)运算的实现及原理
Jul 17 Python
Python获取统计自己的qq群成员信息的方法
Nov 15 Python
Python使用多进程运行含有任意个参数的函数
May 02 Python
Scrapy爬虫文件批量运行的实现
Sep 30 Python
详解Open Folder as PyCharm Project怎么添加的方法
Dec 29 Python
Django框架中模型的用法
Jun 10 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中的一个中文字符串截取函数
2007/02/14 PHP
php中$this->含义分析
2009/11/29 PHP
带密匙的php加密解密示例分享
2014/01/29 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
2015/02/16 PHP
Laravel 5 框架入门(一)
2015/04/09 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
2016/11/14 PHP
php session的应用详细介绍
2017/03/22 PHP
基于php双引号中访问数组元素报错的解决方法
2018/02/01 PHP
网上应用的一个不错common.js脚本
2007/08/08 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
浅谈重写window对象的方法
2014/12/29 Javascript
Node.js 异步编程之 Callback介绍(一)
2015/03/30 Javascript
JS制作图形验证码实现代码
2020/10/19 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
jQuery实现的手风琴侧边菜单效果
2017/03/29 jQuery
node.js 利用流实现读写同步,边读边写的方法
2017/09/11 Javascript
React教程之封装一个Portal可复用组件的方法
2018/01/02 Javascript
JS实现的DOM插入节点操作示例
2018/04/04 Javascript
微信小程序登录session的使用
2019/03/17 Javascript
JavaScript代理模式原理与用法实例详解
2020/03/10 Javascript
JS正则表达式验证密码强度
2020/03/18 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
2020/04/13 Javascript
javascript实现页面的实时时钟显示示例
2020/08/06 Javascript
python遍历类中所有成员的方法
2015/03/18 Python
在Python中处理字符串之isdigit()方法的使用
2015/05/18 Python
python结合shell查询google关键词排名的实现代码
2016/02/27 Python
浅谈python日志的配置文件路径问题
2018/04/28 Python
python验证码识别教程之利用滴水算法分割图片
2018/06/05 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
MVMT手表官方网站:时尚又实惠的高品质手表
2016/12/04 全球购物
工程现场管理求职自荐信
2013/10/02 职场文书
三孔导游词
2015/02/05 职场文书
《月球之谜》教学反思
2016/02/20 职场文书
熟背这些句子,让您的英语口语突飞猛进(135句)
2019/09/06 职场文书
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android