爬虫在爬中文的时候很容易出现乱码,会出现各种奇怪的字或者字符。
如果是在windows下的话,那么这种情况将会显得更为突出。
我也尝尽苦头。
在windows系统下,一般用pycharm这个IDE来写python
一般来说有以下几种解决方法。
1. 在程序的最前面一行加上如下代码。注意一定要独立放在第一行。
# -*- coding: utf-8 -*-
2. 设置程序的编码格式
import sys reload(sys) sys.setdefaultencoding('utf-8')一般来说主要看的是网页的编码方式来确定在程序中如何编码
比如百度。
按F12审查元素功能,在网页里查找charset
所以应该用utf-8。
3. 如果上述方法都没有用的话那么应该就是pycharm的设置问题了,
打开File-》settings-》file encodings-》project encoding
更改project encoding
4. 出现
UnicodeEncodeError: ‘gbk’ codec can’t encode character
说明是将Unicode字符编码为GBK时候出现的问题;
此时,往往最大的可能就是,本身Unicode类型的字符中,包含了一些无法转换为GBK编码的一些字符。
解决办法是:
- 方案1:
在对unicode字符编码时,添加ignore参数,忽略无法无法编码的字符,这样就可以正常编码为GBK了。
对应代码为:
gbkTypeStr = unicodeTypeStr.encode(“GBK“, ‘ignore’); |
- 方案2:
或者,将其转换为GBK编码的超集GB18030 (即,GBK是GB18030的子集):
gb18030TypeStr = unicodeTypeStr.encode(“GB18030“); |
对应的得到的字符是GB18030的编码。
希望对大家有帮助。