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

2025-04-14 14:39:49

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读取网站内容时乱码解决方法
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢