解决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 BeautifulSoup库抓取58手机维修信息
Nov 21 Python
Python判断文件和文件夹是否存在的方法
May 21 Python
python冒泡排序简单实现方法
Jul 09 Python
速记Python布尔值
Nov 09 Python
Python PyQt4实现QQ抽屉效果
Apr 20 Python
深入理解python中sort()与sorted()的区别
Aug 29 Python
python 实现UTC时间加减的方法
Dec 31 Python
python读取几个G的csv文件方法
Jan 07 Python
Python PIL读取的图像发生自动旋转的实现方法
Jul 05 Python
在python中利用try..except来代替if..else的用法
Dec 19 Python
基于Python爬虫采集天气网实时信息
Jun 05 Python
python3中确保枚举值代码分析
Dec 02 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
基于mysql的论坛(7)
2006/10/09 PHP
php 变量定义方法
2009/06/14 PHP
php跨服务器访问方法小结
2015/05/12 PHP
php版微信自定义回复功能示例
2016/12/05 PHP
PHP微商城开源代码实例
2019/03/27 PHP
PHP封装请求类实例分析【基于Yii框架】
2019/10/17 PHP
jquery ui对话框实例代码
2013/05/10 Javascript
JS保留两位小数 四舍五入函数的小例子
2013/11/20 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
Jquery使用小技巧汇总
2015/12/29 Javascript
从零开始做一个pagination分页组件
2017/03/15 Javascript
老生常谈angularjs中的$state.go
2017/04/24 Javascript
vue+iview写个弹框的示例代码
2017/12/05 Javascript
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
vue点击input弹出带搜索键盘并监听该元素的方法
2018/08/25 Javascript
Vue+webpack项目配置便于维护的目录结构教程详解
2018/10/14 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
vue的$http的get请求要加上params操作
2020/11/12 Javascript
Django中的“惰性翻译”方法的相关使用
2015/07/27 Python
Python-OpenCV基本操作方法详解
2018/04/02 Python
python实现猜单词小游戏
2020/05/22 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
用Python实现二叉树、二叉树非递归遍历及绘制的例子
2019/08/09 Python
详解centos7+django+python3+mysql+阿里云部署项目全流程
2019/11/15 Python
python/Matplotlib绘制复变函数图像教程
2019/11/21 Python
HTML5新增的8类INPUT输入类型介绍
2015/07/06 HTML / CSS
联想美国官方商城:Lenovo美国
2017/06/19 全球购物
意大利简约的休闲品牌:Aspesi
2018/02/08 全球购物
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
机电专业毕业生推荐信
2013/11/10 职场文书
机电专业毕业生求职信
2014/07/01 职场文书
信用卡工资证明范本
2014/10/17 职场文书
《落花生》教学反思
2016/02/16 职场文书
初一语文教学反思
2016/03/03 职场文书
毕业欢送晚会主持词
2019/06/25 职场文书