【Python-ERROR】‘gbk‘ codec can‘t encode character ‘\xa0‘ or ‘\u2003‘ in position XXX

Python在print输出时解码报错

1. 遇到的错误

在通过Python爬取网页时,通过print函数输出内容进行调试,但是总会遇到解码不了的字符,试过各种方法都不行,错误代码如下:

‘gbk’ codec can’t encode character ‘\xa0’ in position 8186: illegal multibyte sequence
‘gbk’ codec can’t encode character ‘\u2003’ in position 7254: illegal multibyte sequence

2. 解决办法

1. 提取的信息中有“\xa0”,并且无法去掉,查阅了相关资料,后发现该字符表示空格。

\xa0 是不间断空白符  
我们通常所用的空格是 \x20 ,是在标准ASCII可见字符 0x20~0x7e 范围内。而 \xa0 属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breaking space)。latin1 字符集向下兼容 ASCII ( 0x20~0x7e )。

可以利用translate方法、split()解决,并且还可以替换\t \n字符,以split()为例:

>>> s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值