使用pycharm编写python爬虫时出现乱码的解决方案UnicodeEncodeError: ‘gbk‘ codec can‘t encode character ‘\U0001f601‘ in

一杯茶,一首歌,一个bug改一天。
今天在学习python多线程时,遇到的了乱码的情况,让我们先看一看是什么情况的吧
在这样一段代码中:

response = requests.get(url_queue.get(), headers=headers)
info = response.text
print(info)

报出如下错误:

UnicodeEncodeError: 'gbk' codec can't encode character '\U0001f601' in position 36140: illegal multibyte sequence

在这里插入图片描述

百度了很久,发现都是针对读文件的方式解决的,不过通过大量的帖子,找到了一种解决方式:对我们的输出进行转码,具体代码编写如下:

response = requests.get(url_queue.get(), headers=headers)
            info = response.text
            print(info.encode('UTF-8').decode('UTF-8'))

再次进行打印,发现还是出错,报错代码如下:

UnicodeEncodeError: 'gbk' codec can't encode character '\U0001f92d' in position 18765: illegal multibyte sequence

当然,这次的报错与刚刚是一样的,不过别着急,等我慢慢解释,
在大量百度后,可以的得出一个结论,就是:我们要爬取的页面出现了奇奇怪怪的字符,比如,😊等其他表情。
此时,我打开了要爬取的页面,果然看到了有类似的奇怪字符,
在这里插入图片描述

不过,一个优秀的程序员是不会轻易放弃的,继续百度,
在谋篇博客中解释到cmd命令窗口的编码与IDLE的编码有些出入,这时我就联想到是不是我的pycharm编码出现了问题,
紧接着我就打开了pycharm的编码格式,果然看到了如下结果:
在这里插入图片描述

pycharm的编码格式出现了问题,随后将其修改为UTF-8
再一次运行就可以了:
在这里插入图片描述

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值