解决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正则匹配查询港澳通行证办理进度示例分享
Dec 27 Python
python字典序问题实例
Sep 26 Python
用Python代码来解图片迷宫的方法整理
Apr 02 Python
Python读取properties配置文件操作示例
Mar 29 Python
Python面向对象之类的定义与继承用法示例
Jan 14 Python
Python 安装第三方库 pip install 安装慢安装不上的解决办法
Jun 18 Python
pytorch 共享参数的示例
Aug 17 Python
基于Python新建用户并产生随机密码过程解析
Oct 08 Python
python实现126邮箱发送邮件
May 20 Python
Python timeit模块原理及使用方法
Oct 10 Python
详解查看Python解释器路径的两种方式
Oct 15 Python
python基础之爬虫入门
May 10 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中通过smtp发邮件的类,测试通过
2007/01/22 PHP
Codeigniter生成Excel文档的简单方法
2014/06/12 PHP
PHP exif扩展方法开启详解
2014/07/28 PHP
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
2014/10/16 Javascript
JavaScript实现弹出子窗口并传值给父窗口
2014/12/18 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
JS验证不重复验证码
2017/02/10 Javascript
canvas实现图片根据滑块放大缩小效果
2017/02/24 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
React中jquery引用的实现方法
2017/09/12 jQuery
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
vue.js 获取select中的value实例
2018/03/01 Javascript
vue.js的computed,filter,get,set的用法及区别详解
2018/03/08 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
详解利用nodejs对本地json文件进行增删改查
2019/09/20 NodeJs
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
详解Django框架中的视图级缓存
2015/07/23 Python
Python实现求两个csv文件交集的方法
2017/09/06 Python
python爬虫之模拟登陆csdn的实例代码
2018/05/18 Python
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
2018/06/11 Python
关于Pytorch MaxUnpool2d中size操作方式
2020/01/03 Python
Pytorch环境搭建与基本语法
2020/06/03 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
Python通过len函数返回对象长度
2020/10/22 Python
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
馥绿德雅美国官方网站:Rene Furterer头皮护理专家
2019/05/01 全球购物
教师自荐书
2013/10/08 职场文书
白酒市场营销方案
2014/02/25 职场文书
班子四风对照检查材料
2014/08/21 职场文书
运动会班级口号霸气押韵
2015/12/24 职场文书
Python中OpenCV实现查找轮廓的实例
2021/06/08 Python
Python中的程序流程控制语句
2022/02/24 Python
CI Games宣布《堕落之王2》使用虚幻引擎5制作 预计将于2023年正式发售
2022/04/11 其他游戏