当前位置: 首页 > 问答 > Python编程 > 问答详情

python3的print中文乱码如何解决

09月28日 06:19350人阅读
许老师 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学习网站,欢迎在线学习!

最后输出效果,中文完美输出

职业技能申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

问答来自

许老师 Python编程
好评率85% 浏览350

相关问题

如何理解python中的random.choice()?
赵老师 Python编程
python中print函数输出时sep与end的区别?
许老师 Python编程
用Python编程需要哪些软件?
付老师 Python编程
课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部