python3的print中文乱码如何解决
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
云海天教程网,免费的云海天教程网站,欢迎在线学习!
最后输出效果,中文完美输出
来源:PY学习网:原文地址:https://www.py.cn/article.html