盘点3种Python网络爬虫过程中的中文乱码的处理方法

Python进阶者
• 阅读 368

大家好,我是Python进阶者。前几天给大家分享了一些乱码问题的文章,感兴趣的小伙伴可以前往:UnicodeEncodeError: 'gbk' codec can't encode character解决方法,这里再次给大家祭出网络爬虫过程中三种中文乱码的处理方案,希望对大家的学习有所帮助。

前言

前几天有个粉丝在Python交流群里问了一道关于使用Python网络爬虫过程中中文乱码的问题,如下图所示。

盘点3种Python网络爬虫过程中的中文乱码的处理方法

盘点3种Python网络爬虫过程中的中文乱码的处理方法

看上去确实头大,对于爬虫初学者来说,这个乱码摆在自己面前,犹如拦路虎一般难顶。不过别慌,小编在这里给大家整理了三种方法,专门用于针对中文乱码的,希望大家在后面再次遇到中文乱码的问题,在此处可以得到灵感!

一、思路

其实解决问题的关键点就是在于一点,就是将乱码的部分进行处理,而处理的方案主要可以从两个方面进行出发。其一是针对整体网页进行提前编码,其二是针对局部具体中文乱码的部分进行编码处理。这里例举3种方法,肯定还有其他的方法的,也欢迎大家在评论区谏言。

二、分析

其实关于中文乱码的表现形式有很多,但是常见的两种如下:

1、当出现网页编码为gbk,获取到的内容在控制台打印类似如下情况的时候:

ÃÀÅ® µçÄÔ×À ¼üÅÌ »ú·¿ ¿É°® С½ã½ã4k±ÚÖ½

2、当出现网页编码为gbk,获取到的内容在控制台打印类似如下情况的时候:

�װŮ�� ��Ů ˮ СϪ Ψ��
虽然看上去控制台输出正常,没有报错:
Process finished with exit code 0
但是输出的中文内容,却不是普通人能看得懂的。

这种情况下的话,就可以通过使用本文给出的三种方法进行解决,屡试不爽!

三、具体实现

1)方法一:将requests.get().text改为requests.get().content 我们可以看到通过text()方法获取到的源码,之后进行打印输出的话,确实是会存在乱码的,如下图所示。

盘点3种Python网络爬虫过程中的中文乱码的处理方法

此时可以考虑将请求变为.content,得到的内容就是正常的了。

盘点3种Python网络爬虫过程中的中文乱码的处理方法

2)方法二:手动指定网页编码****

# 手动设定响应数据的编码格式

盘点3种Python网络爬虫过程中的中文乱码的处理方法

 这个方法稍微复杂一些,但是比较好理解,对于初学者来说,还是比较好接受的。
如果觉得上面的方法很难记住,或者你可以尝试直接指定gbk编码也可以进行处理,如下图所示:

盘点3种Python网络爬虫过程中的中文乱码的处理方法

上面介绍的两种方法都是针对网页进行整体编码,效果显著,接下来的第三种方法就是针对中文局部乱码部分使用通用编码方法进行处理。

3)方法三:使用通用的编码方法****

img_name.encode('iso-8859-1').decode('gbk')

使用通用的编码方法,对中文出现乱码的地方进行编码设定即可。还是当前的这个例子,针对img_name进行编码设定,指定编码并进行解码,如下图所示。

盘点3种Python网络爬虫过程中的中文乱码的处理方法

如此一来,中文乱码的问题就迎刃而解了。

四、总结

我是Python进阶者。本文基于粉丝提问,针对Python网络爬虫过程中的中文乱码问题,给出了3种乱码解决方法,顺利帮助粉丝解决了问题。虽然文中例举了3种方法,但是小编相信肯定还有其他的方法的,也欢迎大家在评论区谏言。

点赞
收藏
评论区
推荐文章
Python进阶者 Python进阶者
3年前
手把手教你使用Python网络爬虫获取B站视频选集内容(附源码)
大家好,我是Python进阶者。前言前几天雪球兄在Python交流群里分享了一个获取B站视频选集的Python代码,小编觉得非常奈斯,这里整理成一篇小文章,分享给大家学习。关于雪球兄,大家应该都熟悉了,之前他写过Python实战文章,好评如潮,没来得及看的小伙伴,可以戳这里了:之前也有给大家分享B站的一些文章,感兴趣的话可以看看这个文章,Python网络爬
Python进阶者 Python进阶者
3年前
盘点3种Python网络爬虫过程中的中文乱码的处理方法
大家好,我是Python进阶者。前几天给大家分享了一些乱码问题的文章,感兴趣的小伙伴可以前往:,这里再次给大家祭出网络爬虫过程中三种中文乱码的处理方案,希望对大家的学习有所帮助。前言前几天有个粉丝在Python交流群里问了一道关于使用Python网络爬虫过程中中文乱码的问题,如下图所示。看上去确实头大,对于爬虫初学者来说,这个乱码摆在自己面前,犹如拦路虎一
Python进阶者 Python进阶者
3年前
盘点CSV文件在Excel中打开后乱码问题的两种处理方法
大家好,我是Python进阶者。前几天给大家分享了一些乱码问题的文章,阅读量还不错,感兴趣的小伙伴可以前往:,,今天基于粉丝提问,给大家介绍CSV文件在Excel中打开后乱码问题的两种处理方法,希望对大家的学习有所帮助。前言前几天有个叫【RSL】的粉丝在Python交流群里问了一道关于CSV文件在Excel中打开后乱码的问题,如下图所示。在Excel中直接
Python进阶者 Python进阶者
2年前
盘点一个Python网络爬虫+正则表达式处理案例
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【鑫】问了一个Python网络爬虫的问题,提问截图如下:!(https://uploadimages.jianshu.io/upload_images/2623
Python进阶者 Python进阶者
8个月前
想获取JS加载网页的源网页的源码,不想获取JS加载后的数据
大家好,我是Python进阶者。一、前言前几天在Python钻石交流群【梦】问了一个Python网络爬虫的问题,这个网站不知道使用了什么反爬手段,都获取不到页面数据。原来的那篇文章竟然爆文了,突破了1.5w的阅读量,欢迎大家围观。不过这里粉丝的需求有点奇怪
Python进阶者 Python进阶者
7个月前
有没有大佬知道这种数据应该怎么抓取呀?
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【王者级混子】问了一个Python网络爬虫的问题。问题如下:有没有大佬知道这种数据应该怎么抓取呀?我鼠标移到上面才会出现的数据。二、实现过程这里【Crazy】和【此类生物】给了一个指导。
Python进阶者 Python进阶者
6个月前
爬取同样内容,xpath方法会比bs4要慢很多吗?
大家好,我是Python进阶者。一、前言前几天在Python白银交流群【沐子山树】问了一个Python网络爬虫的问题,问题如下:爬取同样内容,xpath方法会比bs4要慢很多吗?二、实现过程这里【Kimi】给了个思路如下:爬取网页内容时,使用XPath和B
Python进阶者 Python进阶者
3个月前
怎么用xpath写drissionpage?或者用相对位置?
大家好,我是Python进阶者。一、前言前几天在Python最强王者交流群【黑科技·鼓包】问了一个Python网络爬虫处理的问题。问题如下:有没有大佬指点下怎么用xpath写drissionpage?或者用相对位置?我看了半天中文文档硬是写不出来。这是xp
Python进阶者 Python进阶者
2年前
盘点一个Python网络爬虫过程中中文乱码的问题
大家好,我是皮皮。一、前言前几天在Python黄金交流群有个叫【Mt.Everest】的粉丝问了一个关于Python网络爬虫过程中中文乱码的问题,这里拿出来给大家分享下,一起学习。二、解决过程这个问题其实很早之前,我就写过相关文章,而且屡试不爽。【Python进阶者】解答这里给出了两个思路,照着这个思路去的话,问题不大。事实上并不巧,还是翻车了。【黑
Python进阶者 Python进阶者
2年前
盘点一个Python网络爬虫过程中中文乱码的问题
大家好,我是皮皮。一、前言前几天在Python白银交流群【空翼】问了一个Python网络爬虫中文乱码的问题,提问截图如下:原始代码如下:importrequestsimportparselurl'https://news.p2peye.com/article5147231.html'headers'AcceptLanguage':'zhCN,zh;q