文章目录[ 隐藏 ]
关键字
UnicodeEncodeError,编码异常
异常解析
UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xbb’ in position 26269:
illegal multibyte sequence
UnicodeEncodeError:说明是Unicode编码时候的问题
‘gbk’ codec can’t encode character:说明是将Unicode字符编码为GBK时候出现的问题
在windows下面,系统默认编码是gbk,python解释器会用gbk编码去解析我们的网络数据流,然而数据流此时已经是decode过的unicode编码,这样的话就会导致解析不了,出现上述问题。 解决的办法就是,对数据流进行编码。
实例
源码:
import requests
page = requests.get('http://www.baidu.com')
text = page.text
print(text)
1
2
3
4
importrequests
page=requests.get('http://www.baidu.com')
text=page.text
print(text)
没有编码,报错了:
C:\Users\Administrator>E:\python\learn\lenrnrequests.py
Traceback (most recent call last):
File "E:\python\learn\lenrnrequests.py", line 4, in
print(text)
UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 25395:
illegal multibyte sequence
C:\Users\Administrator>
1
2
3
4
5
6
7
8
C:\Users\Administrator>E:\python\learn\lenrnrequests.py
Traceback(mostrecentcalllast):
File"E:\python\learn\lenrnrequests.py",line4,in
print(text)
UnicodeEncodeError:'gbk'codeccan't encode character '\xbb'inposition25395:
illegalmultibytesequence
C:\Users\Administrator>
修改后
import requests
page = requests.get('http://www.baidu.com')
text = page.text
print(text.encode("utf-8"))
1
2
3
4
importrequests
page=requests.get('http://www.baidu.com')
text=page.text
print(text.encode("utf-8"))
正常运行
ntainer" id="c-tips-container">