养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

python3的requests读取网站内容时乱码解决方法

时间:2024-11-06 16:47:29

python3的requests读金泫险缋取网站内容因各网站编码方式(utf-8,gbk,gb2312,gb18030等)的不同,可能出现乱码,现讲解一个处理方法。

工具/原料

安装有python3开发环境的电脑

notepad++

方法/步骤

1、有一个程序如图,读取一个网站的源码存入文件并打印在控制台窗口。

python3的requests读取网站内容时乱码解决方法

2、控制台中文均是乱码,打开存入C盘下的test.txt文件也均是乱码。

python3的requests读取网站内容时乱码解决方法

python3的requests读取网站内容时乱码解决方法

3、将文件改为gbk编码存入同样不能解决。

python3的requests读取网站内容时乱码解决方法

4、将文件改为gb2312编码时直接报错,原因是该网站源码中有一个字符是python不能转换的,该字符是\xee。

python3的requests读取网站内容时乱码解决方法

5、在线查找0xee所对应的字符,在gbk,big5,gb2312,gb18030中均没有,在Unicode中有如图所示字符,造成不能转换完成。

python3的requests读取网站内容时乱码解决方法

6、解决办法,data=r.text.e艘绒庳焰ncode("latin1").decode("gbk&鳎溻趄酃quot;)将读取的源码采用函数encode()转换为latin1编码,再将该编码转换为gbk,再利用发下代码withopen('c:/test.txt','w',encoding='utf-8')asf:f.write(data)写入文件。注意写入时的encoding是utf-8的编码。

python3的requests读取网站内容时乱码解决方法

7、C盘中写入的文件也正常。

python3的requests读取网站内容时乱码解决方法

© 一点知识