解决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内置数据类型详解
Aug 18 Python
Python实现爬取知乎神回复简单爬虫代码分享
Jan 04 Python
python实现微信接口(itchat)详细介绍
Oct 23 Python
python实现手机通讯录搜索功能
Feb 22 Python
django admin后台添加导出excel功能示例代码
May 15 Python
树莓派3 搭建 django 服务器的实例
Aug 29 Python
tensorflow-gpu安装的常见问题及解决方案
Jan 20 Python
python GUI库图形界面开发之PyQt5选项卡控件QTabWidget详细使用方法与实例
Mar 01 Python
使用Python将Exception异常错误堆栈信息写入日志文件
Apr 08 Python
Python如何创建装饰器时保留函数元信息
Aug 07 Python
python 邮件检测工具mmpi的使用
Jan 04 Python
python中Array和DataFrame相互转换的实例讲解
Feb 03 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加密解密实用类分享
2014/01/07 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
PHP中通过trigger_error触发PHP错误示例
2015/06/23 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
PHP生成短网址方法汇总
2016/07/12 PHP
jquery获取多个checkbox的值异步提交给php
2015/07/07 Javascript
JS实现的仿淘宝交易倒计时效果
2015/11/27 Javascript
全面理解JavaScript中的闭包
2016/05/12 Javascript
angularJS深拷贝详解
2017/03/23 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
详解webpack+vue-cli项目打包技巧
2017/06/17 Javascript
Javascript前端下载后台传来的文件流代码实例
2020/08/18 Javascript
Python中的高级函数map/reduce使用实例
2015/04/13 Python
Python中的模块导入和读取键盘输入的方法
2015/10/16 Python
Python利用Beautiful Soup模块搜索内容详解
2017/03/29 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
Python代码缩进和测试模块示例详解
2018/05/07 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
Python matplotlib 绘制双Y轴曲线图的示例代码
2020/06/12 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
澳大利亚巧克力花束和礼品网站:Tastebuds
2019/03/15 全球购物
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
这段代码难道不该打印出56吗
2013/02/27 面试题
linux面试题参考答案(8)
2016/04/19 面试题
高分子材料与工程专业推荐信
2013/12/01 职场文书
大学生村官工作感言
2014/01/10 职场文书
满月酒主持词
2014/03/27 职场文书
村委会换届选举方案
2014/05/03 职场文书
忠诚教育心得体会
2014/09/03 职场文书
2014年涉外离婚协议书范本
2014/11/20 职场文书
2015年初三班主任工作总结
2015/05/21 职场文书
销售口号霸气押韵
2015/12/24 职场文书
Node实现搜索框进行模糊查询
2021/06/28 Javascript
Nginx限流和黑名单配置
2022/05/20 Servers