新余门户网站建设,服装网站建设建议,做网站公司选哪家,定制酒营销方案网络爬虫过程中三种中文乱码的处理方案#xff0c;希望对大家的学习有所帮助
一、思路
其实解决问题的关键点就是在于一点#xff0c;就是将乱码的部分进行处理#xff0c;而处理的方案主要可以从两个方面进行出发。其一是针对整体网页进行提前编码#xff0c;其二是针对…网络爬虫过程中三种中文乱码的处理方案希望对大家的学习有所帮助
一、思路
其实解决问题的关键点就是在于一点就是将乱码的部分进行处理而处理的方案主要可以从两个方面进行出发。其一是针对整体网页进行提前编码其二是针对局部具体中文乱码的部分进行编码处理。
二、分析
1、当出现网页编码为gbk获取到的内容在控制台打印类似如下情况的时候
ÃÀÅ® µçÄÔ×À ¼üÅÌ »ú·¿ ¿É°® С½ã½ã4k±ÚÖ½虽然看上去控制台输出正常没有报错, 但是输出的中文内容却不是普通人能看得懂的。
2、当出现网页编码为gbk获取到的内容在控制台打印类似
װŮ Ů ˮ СϪ Ψ这种情况下的话就可以通过使用本文给出的三种方法进行解决屡试不爽三、具体实现
1方法一将requests.get().text改为requests.get().content 我们可以看到通过text()方法获取到的源码之后进行打印输出的话确实是会存在乱码的如下图所示。 此时可以考虑将请求变为.content得到的内容就是正常的了。 2方法二手动指定网页编码 #手动设定响应数据的编码格式
response.encoding response.apparent_encoding如果觉得上面的方法很难记住或者你可以尝试直接指定gbk编码也可以进行处理如下图所示 这个方法稍微复杂一些但是比较好理解对于初学者来说还是比较好接受的。 如果觉得上面的方法很难记住或者你可以尝试直接指定gbk编码也可以进行处理如下图所示 上面介绍的两种方法都是针对网页进行整体编码效果显著接下来的第三种方法就是针对中文局部乱码部分使用通用编码方法进行处理。
3方法三使用通用的编码方法
img_name.encode(iso-8859-1).decode(gbk)