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