解决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中的标识运算符
May 14 Python
Python使用ntplib库同步校准当地时间的方法
Jul 02 Python
python3 发送任意文件邮件的实例
Jan 23 Python
深入理解Django的中间件middleware
Mar 14 Python
基于Python开发chrome插件的方法分析
Jul 07 Python
Python实现查询某个目录下修改时间最新的文件示例
Aug 29 Python
python中@property和property函数常见使用方法示例
Oct 21 Python
Django 多对多字段的更新和插入数据实例
Mar 31 Python
python要安装在哪个盘
Jun 15 Python
Django 如何实现文件上传下载
Apr 08 Python
python中pandas对多列进行分组统计的实现
Jun 18 Python
python基础之函数的定义和调用
Oct 24 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
CodeIgniter框架过滤HTML危险代码
2014/06/12 PHP
php递归调用删除数组空值元素的方法
2015/04/28 PHP
php实现微信公众号无限群发
2015/10/11 PHP
php 输出json及显示json中的中文汉字详解及实例
2016/11/09 PHP
深入理解JavaScript系列(14) 作用域链介绍(Scope Chain)
2012/04/12 Javascript
js中符号转意问题示例探讨
2013/08/19 Javascript
javascript中的变量作用域以及变量提升详细介绍
2013/10/24 Javascript
javascript实现获取cookie过期时间的变通方法
2014/08/14 Javascript
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
详解AngularJS中自定义过滤器
2015/12/28 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
js 点击a标签 获取a的自定义属性方法
2016/11/21 Javascript
AngularJS中directive指令使用之事件绑定与指令交互用法示例
2016/11/22 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
分享ES6的7个实用技巧
2018/01/18 Javascript
百度地图去掉marker覆盖物或者去掉maker的label文字方法
2018/01/26 Javascript
AngularJS对动态增加的DOM实现ng-keyup事件示例
2018/03/12 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
JavaScript中break、continue和return的用法区别实例分析
2020/03/02 Javascript
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
同时安装Python2 & Python3 cmd下版本自由选择的方法
2017/12/09 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
Python多进程池 multiprocessing Pool用法示例
2018/09/07 Python
python2.7和NLTK安装详细教程
2018/09/19 Python
Python读取excel指定列生成指定sql脚本的方法
2018/11/28 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
使用GitHub和Python实现持续部署的方法
2019/05/09 Python
商务英语专业应届毕业生求职信
2013/10/28 职场文书
石油大学毕业生自荐信
2014/01/28 职场文书
高中运动会广播稿
2014/09/16 职场文书
党员批评与自我批评发言材料
2014/10/14 职场文书
技术入股合作协议书
2016/03/21 职场文书
2017年寒假社区服务活动总结
2016/04/06 职场文书
用python开发一款操作MySQL的小工具
2021/05/12 Python
python 利用PyAutoGUI快速构建自动化操作脚本
2021/05/31 Python