python爬虫,读取本地html时编码报错:UnicodeDecodeError: 'ascii' codec can't decode

python爬虫,读取本地html时编码报错:UnicodeDecodeError: 'ascii' codec can't decode,第1张

Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,Beautiful Soup就不能自动识别编码方式了。然后,你仅仅需要说明一下原始编码方式就可以了。

python3 区分了 unicode str 和 byte arrary,并且默认编码不再是 ascii

关于编码问题的终极解决方案:

在python的Lib\site-packages文件夹下新建一个sitecustomize.py

文件,输入:

import sys

sys.setdefaultencoding('gb2312')

这里要注意一点是:这里面你可以设置GBK或者utf8 或者其他类型的编码格式,不一定非要gb2312,主要看你 *** 作的环境需要什么编码格式

你试试下面的代码

#!/usr/bin/env python

# -*- coding:utf8 -*-

import urllib2

req = urllib2.Request("http://www.baidu.com/")

res = urllib2.urlopen(req)

html = res.read()

res.close()

html = unicode(html, "gb2312").encode("utf8")

print html


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/6274805.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-19
下一篇 2023-03-19

发表评论

登录后才能评论

评论列表(0条)

保存