解决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学习之第三方包安装方法(两种方法)
Jul 30 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
python的dataframe转换为多维矩阵的方法
Apr 11 Python
Django之提交表单与前后端交互的方法
Jul 19 Python
Django 开发调试工具 Django-debug-toolbar使用详解
Jul 23 Python
python单例模式的多种实现方法
Jul 26 Python
Python学习笔记之列表推导式实例分析
Aug 13 Python
Python递归实现打印多重列表代码
Feb 27 Python
IDLE下Python文件编辑和运行操作
Apr 25 Python
Python如何在循环内使用list.remove()
Jun 01 Python
Python通过fnmatch模块实现文件名匹配
Sep 30 Python
Python进程间的通信之语法学习
Apr 11 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配合jquery实现增删操作具体实例
2013/12/12 PHP
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
php实现用于计算执行时间的类实例
2015/04/18 PHP
PHP调试及性能分析工具Xdebug详解
2017/02/09 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
php简单计算权重的方法示例【适合抽奖类应用】
2019/06/10 PHP
Laravel实现通过blade模板引擎渲染视图
2019/10/25 PHP
基于jquery的一行代码轻松实现拖动效果
2010/12/28 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
javascript实现字符串反转的方法
2015/02/05 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
JavaScript基础教程之如何实现一个简单的promise
2018/09/11 Javascript
jquery实现联想词搜索框和搜索结果分页的示例
2018/10/10 jQuery
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
Servlet返回的数据js解析2种方法
2019/12/12 Javascript
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
JS FormData对象使用方法实例详解
2020/02/12 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
vue cli3适配所有端方案的实现
2020/04/13 Javascript
解决vue组件没显示,没起作用,没报错,但该显示的组件没显示问题
2020/09/02 Javascript
js 执行上下文和作用域的相关总结
2021/02/08 Javascript
Python中函数参数设置及使用的学习笔记
2016/05/03 Python
10分钟用python搭建一个超好用的CMDB系统
2019/07/17 Python
Django与pyecharts结合的实例代码
2020/05/13 Python
Django Form常用功能及代码示例
2020/10/13 Python
pycharm 复制代码出现空格的解决方式
2021/01/15 Python
使用CSS3的font-face字体嵌入样式的方法讲解
2016/05/13 HTML / CSS
印尼旅游网站:via
2017/11/12 全球购物
医学生求职自荐信
2013/10/25 职场文书
网络信息管理员岗位职责
2014/01/05 职场文书
校三好学生主要事迹
2014/01/11 职场文书
为什么你写的height:100%不起作用
2021/05/10 HTML / CSS
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android
vue @click.native 绑定原生点击事件
2022/04/22 Vue.js