解决Python网页爬虫之中文乱码问题


Posted in Python onMay 11, 2018

Python是个好工具,但是也有其固有的一些缺点。最近在学习网页爬虫时就遇到了这样一种问题,中文网站爬取下来的内容往往中文显示乱码。看过我之前博客的同学可能知道,之前爬取的一个学校网页就出现了这个问题,但是当时并没有解决,这着实成了我一个心病。这不,刚刚一解决就将这个方法公布与众,大家一同分享。

首先,我说一下Python中文乱码的原因,Python中文乱码是由于Python在解析网页时默认用Unicode去解析,而大多数网站是utf-8格式的,并且解析出来之后,python竟然再以Unicode字符格式输出,会与系统编码格式不同,导致中文输出乱码,知道原因后我们就好解决了。下面上代码,实验对象仍是被人上了无数遍的百度主页~

# -*- coding: utf-8 -*-

import urllib2
import re
import requests
import sys

import urllib
#设置编码
reload(sys)
sys.setdefaultencoding('utf-8')
#获得系统编码格式
type = sys.getfilesystemencoding()
r = urllib.urlopen("http://www.baidu.com")
#将网页以utf-8格式解析然后转换为系统默认格式
a = r.read().decode('utf-8').encode(type)
print a

最后输出效果,中文完美输出

解决Python网页爬虫之中文乱码问题

以上这篇解决Python网页爬虫之中文乱码问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python使用urllib模块和pyquery实现阿里巴巴排名查询
Jan 16 Python
python正则表达式match和search用法实例
Mar 26 Python
Python中max函数用法实例分析
Jul 17 Python
如何在python字符串中输入纯粹的{}
Aug 22 Python
在PyCharm中实现关闭一个死循环程序的方法
Nov 29 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
Dec 20 Python
Python实现二维曲线拟合的方法
Dec 29 Python
python读取.mat文件的数据及实例代码
Jul 12 Python
Python动态强类型解释型语言原理解析
Mar 25 Python
keras.layer.input()用法说明
Jun 16 Python
python开发入门——列表生成式
Sep 03 Python
Python获取字典中某个key的value
Apr 13 Python
解决python爬虫中有中文的url问题
May 11 #Python
利用Python yagmail三行代码实现发送邮件
May 11 #Python
解决Pandas to_json()中文乱码,转化为json数组的问题
May 10 #Python
解决python3 json数据包含中文的读写问题
May 10 #Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
May 10 #Python
对python3 urllib包与http包的使用详解
May 10 #Python
Python3处理HTTP请求的实例
May 10 #Python
You might like
php 分页类 扩展代码
2009/06/11 PHP
PHP中把对象转换为关联数组代码分享
2015/04/09 PHP
Yii使用migrate命令执行sql语句的方法
2016/03/15 PHP
js实现双向链表互联网机顶盒实战应用实现
2011/10/28 Javascript
jQuery 文本框得失焦点的简单实例
2014/02/19 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
jQuery+ajax实现无刷新级联菜单示例
2015/05/21 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
webpack中引用jquery的简单实现
2016/06/08 Javascript
jquery获取easyui日期控件的值实现方法
2016/11/09 Javascript
js实现手机拍照上传功能
2017/01/17 Javascript
nodejs模块nodemailer基本使用-邮件发送示例(支持附件)
2017/03/28 NodeJs
jquery中each循环的简单回滚操作
2017/05/05 jQuery
Angularjs使用过滤器完成排序功能
2017/09/20 Javascript
解决JQuery全选/反选第二次失效的问题
2017/10/11 jQuery
Vue入门之animate过渡动画效果
2018/04/08 Javascript
解决Vue.js由于延时显示了{{message}}引用界面的问题
2018/08/25 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
python pandas中DataFrame类型数据操作函数的方法
2018/04/08 Python
Django中反向生成models.py的实例讲解
2018/05/30 Python
windows下搭建python scrapy爬虫框架步骤
2018/12/23 Python
解决python3中的requests解析中文页面出现乱码问题
2019/04/19 Python
Python实现的栈、队列、文件目录遍历操作示例
2019/05/06 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
如何在windows下安装配置python工具Ulipad
2020/10/27 Python
分享一个H5原生form表单的checkbox特效代码
2018/02/26 HTML / CSS
采购部部门职责
2013/12/15 职场文书
党校培训自我鉴定范文
2014/04/10 职场文书
活动宣传策划方案
2014/05/23 职场文书
应届大学生自荐书
2014/06/17 职场文书
委托书怎样写
2014/08/30 职场文书
公证委托书标准格式
2014/09/11 职场文书
人身损害赔偿协议书
2016/03/22 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书