1 错误
在使用爬虫爬取网络数据时,容易报下面的错误,也就是Unicode解码错误。UnicodeEncodeError: 'gbk' codec can't encode character '\xbb' in position 0: illegal multibyte sequence
str转bytes叫encode,bytes转str叫decode,如上面的代码就是将抓到的字节流给decode成unicode数组,我们使用下面的代码测试一下:
1 | print(b'\xc2\xbb'.decode('utf-8')) |
运行结果:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xbb’ in position 0: illegal multibyte sequence
从结果可以看出,报错了。和爬虫的错误一模一样。
错误原因解析
python
语言自身的限制,由于print()
方法并不能完全输出所有的unicode
编码中的字符,所以我们有时候在使用爬虫的时候,会报这个错误。
2 解决方法
在爬虫的文件头部,加上下面的代码即可。
1 | import sys |
其中,中文编码的大小:gbk<gb2312<gb18030,一般情况下,gb18030
编码都能解析gbk
不能解析的编码信息。
转载博客
原文:https://blog.csdn.net/jim7424994/article/details/22675759
写在最后
欢迎大家关注鄙人的公众号【麦田里的守望者zhg】,让我们一起成长,谢谢。
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment