手抄报 安全手抄报 手抄报内容 手抄报图片 英语手抄报 清明节手抄报 节约用水手抄报

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

时间:2024-10-18 23:42:52

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,再利用发下代码with open('c:/test.txt','w',encoding='utf-8') as f: f.write(data)写入文件。注意写入时的encoding是utf-8的编码。

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

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

python3的requests读取网站内容时乱码解决方法
© 手抄报圈