初学爬虫过程中,曾遇到很多次乱码,每次总是上网求解或者询问大佬,今天心血来潮,想写一篇关于此的文章,希望在给自己便利的同时,也能给大家些许帮助:
首先想要解决乱码问题,必须要清楚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可以识别的文本 。
总结以上是内存溢出为你收集整理的初解requests乱码全部内容,希望文章能够帮你解决初解requests乱码所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)