解决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代码制作configure文件示例
Jul 28 Python
python实现bucket排序算法实例分析
May 04 Python
python类中super()和__init__()的区别
Oct 18 Python
django模型层(model)进行建表、查询与删除的基础教程
Nov 21 Python
使用python验证代理ip是否可用的实现方法
Jul 25 Python
Python最小二乘法矩阵
Jan 02 Python
python实现图书借阅系统
Feb 20 Python
pyqt5实现按钮添加背景图片以及背景图片的切换方法
Jun 13 Python
Python实现将蓝底照片转化为白底照片功能完整实例
Dec 13 Python
PyTorch中permute的用法详解
Dec 30 Python
Python连接Hadoop数据中遇到的各种坑(汇总)
Apr 14 Python
基于Python+QT的gui程序开发实现
Jul 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/06/03 PHP
Zend Framework教程之模型Model用法简单实例
2016/03/04 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
2019/10/10 PHP
phpfpm的作用和用法
2019/10/10 PHP
一个可以显示阴历的JS代码
2007/03/05 Javascript
js 调整select 位置的函数
2008/02/21 Javascript
DOM_window对象属性之--clipboardData对象操作代码
2011/02/03 Javascript
js中的push和join方法使用介绍
2013/10/08 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
如何编写高质量JS代码
2014/12/28 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
2015/05/12 Javascript
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
jquery购物车结算功能实现方法
2020/10/29 Javascript
详解jQuery停止动画——stop()方法的使用
2016/12/14 Javascript
jQuery+CSS实现的table表格行列转置功能示例
2018/01/08 jQuery
Django+vue跨域问题解决的详细步骤
2019/01/20 Javascript
vue在index.html中引入静态文件不生效问题及解决方法
2019/04/29 Javascript
简单了解vue中父子组件如何相互传递值(基础向)
2019/07/12 Javascript
python实现文件名批量替换和内容替换
2014/03/20 Python
Python fileinput模块使用介绍
2014/11/30 Python
Python错误: SyntaxError: Non-ASCII character解决办法
2017/06/08 Python
python中reduce()函数的使用方法示例
2017/09/29 Python
基于scrapy的redis安装和配置方法
2018/06/13 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
Python控制台实现交互式环境执行
2020/06/09 Python
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
2013/01/31 HTML / CSS
专科毕业生学习生活的自我评价
2013/10/26 职场文书
《三个小伙伴》教学反思
2014/04/11 职场文书
幼师求职自荐信
2014/05/31 职场文书
法制宣传口号
2014/06/16 职场文书
2015毕业生自我评价范文
2015/03/02 职场文书
如何写通讯稿
2015/07/22 职场文书
聊聊JS ES6中的解构
2021/04/29 Javascript
Java spring单点登录系统
2021/09/04 Java/Android
基于PostgreSQL/openGauss 的分布式数据库解决方案
2021/12/06 PostgreSQL