其他分享
首页 > 其他分享> > 初解requests乱码

初解requests乱码

作者:互联网

初解requests乱码

    初学爬虫过程中,曾遇到很多次乱码,每次总是上网求解或者询问大佬,今天心血来潮,想写一篇关于此的文章,希望在给自己便利的同时,也能给大家些许帮助:

首先想要解决乱码问题,必须要清楚Python字符串编码本质是什么。

我们知道,最早的字符串编码是 ASCII 编码,它仅仅对 10 个数字、26 个大小写英文字母以及一些特殊字符进行了编码。ASCII 码做多只能表示 256 个符号,每个字符只需要占用 1 个字节。

随着信息技术的发展,各国的文字都需要进行编码,于是相继出现了 GBK、GB2312、UTF-8 编码等,其中 GBK 和 GB2312 是我国制定的中文编码标准,规定英文字符母占用 1 个字节,中文字符占用 2 个字节;而 UTF-8 是国际通过的编码格式,它包含了全世界所有国家需要用到的字符,其规定英文字符占用 1 个字节,中文字符占用 3 个字节。

字符串在Python内部的表示是 unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(encode)成另一种编码。
因此爬取文本的时候,就需要知道文本自身编码形式,然后用然后decode成unicode编码,最后再encode编码成python可以识别的文本。
如:
s=‘中文’
s.decode(‘utf-8’) #s解码成为unicode编码
s.encode(‘utf-8’) #s编码成python可以识别的文本

爬虫时,出现乱码,大部分出现在解码的方式不是python默认的,所以需要自己从网页中找到编码方式,再解码,最后编码成python可以识别的文本 。

标签:编码,初解,字符,python,乱码,unicode,requests,字节
来源: https://blog.csdn.net/weixin_51712887/article/details/115311608