python 爬虫中文乱码问题

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

如果是在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的编码。



希望对大家有帮助。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值