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



希望对大家有帮助。


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python网络爬虫过程中,遇到汉字问题是比较常见的情况。根据引用\[1\]中提到的方法,我可以给你提供一些解决问题的方法。 首先,你可以尝试使用引用\[2\]中的方法,即对于编码为utf-8的网址,进行两次重编码。你可以使用requests库发送请求,并在获取到的响应中设置编码为'GBK',然后再将编码设置为'utf-8'。这样可以解决一些网页中文码的问题。 另外,你还可以尝试使用其他的编码方式来解决问题。比如,可以尝试将编码设置为'gb2312',如引用\[2\]中提到的方法。这种方法适用于网址编码为'gb2312'的情况。 综上所述,解决Python爬虫中文问题的步骤可以总结为: 1. 使用requests库发送请求获取网页内容。 2. 根据网页编码设置响应的编码方式,可以尝试设置为'GBK'或'gb2312'。 3. 如果仍然存在问题,可以尝试进行多次编码转换,如将编码设置为'utf-8'。 希望以上方法能够帮助你解决Python爬虫中文问题。如果还有其他问题,请随时提问。 #### 引用[.reference_title] - *1* [盘点3种Python网络爬虫过程中的中文码的处理方法](https://blog.csdn.net/i54996/article/details/120749614)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Python爬虫中文问题](https://blog.csdn.net/wvqusrtg/article/details/113742520)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值