python 爬虫中文乱码问题

来源:互联网 发布:手机蓝牙网络共享电脑 编辑:程序博客网 时间:2024/06/05 11:59

爬虫在爬中文的时候很容易出现乱码,会出现各种奇怪的字或者字符。

如果是在windows下的话,那么这种情况将会显得更为突出。

我也尝尽苦头。


在windows系统下,一般用pycharm这个IDE来写python


一般来说有以下几种解决方法。


1. 在程序的最前面一行加上如下代码。注意一定要独立放在第一行。

# -*- coding: utf-8 -*-
2.  设置程序的编码格式

import sysreload(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的编码。



希望对大家有帮助。


0 0