解决Python网页爬虫之中文乱码问题

yipeiwu_com7年前Python爬虫

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实现的爬取小说爬虫功能。分享给大家供大家参考,具体如下: 想把顶点小说网上的一篇持续更新的小说下下来,就写了一个简单的爬虫,可以爬取爬取各个章节的内容,保存到t...

Python3简单爬虫抓取网页图片代码实例

现在网上有很多python2写的爬虫抓取网页图片的实例,但不适用新手(新手都使用python3环境,不兼容python2), 所以我用Python3的语法写了一个简单抓取网页图片的实例...

python爬虫简单的添加代理进行访问的实现代码

python爬虫简单的添加代理进行访问的实现代码

在使用python对网页进行多次快速爬取的时候,访问次数过于频繁,服务器不会考虑User-Agent的信息,会直接把你视为爬虫,从而过滤掉,拒绝你的访问,在这种时候就需要设置代理,我们可...

Python如何使用BeautifulSoup爬取网页信息

Python如何使用BeautifulSoup爬取网页信息

这篇文章主要介绍了Python如何使用BeautifulSoup爬取网页信息,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 简单爬取网...

python爬虫豆瓣网的模拟登录实现

python爬虫豆瓣网的模拟登录实现

思路 一、想要实现登录豆瓣关键点 分析真实post地址 ----寻找它的formdata,如下图,按浏览器的F12可以找到。 实战操作 实现:模拟登录豆瓣,验证码处理,登录...