Pythonrequests请求页⾯返回乱码问题
kubeoperator序⾔
有时候在通过Python爬取⽹页数据的时候,⽐如抖⾳、快⼿等短视频数据;⽹页会返回乱码;这种乱码数据,不管是g b2312、utf-8、g b k、亦或者使⽤g b k的超集g b18030等编码都毫⽆⽤处。看下图。
image.png
原因出在⼀个参数上 'acce p t-e ncod ing': 'g zip, d e f late, b r'
gzip是⼀种数据格式;默认且⽬前仅使⽤deflate算法压缩data部分,这种⽅法常⽤于压缩传输。
css怎么设置表格image.png
普通浏览器在访问⽹页时,之所以要添加 'accept-encoding': 'gzip, deflate, br' ;是因为,浏览器对于从服务器中返回的对应的gzip压缩的⽹页,会⾃动解压缩,所以,在requests的时候,添加对应的请求头,来表明⾃⼰接收压缩后的数据。
⽽在上⾯的代码中,如果也添加此头的信息,结果就是,返回的是压缩后的数据,没有解码,直接将压缩后的数据当做普通的html⽂本来处理,所以显⽰出来的内容,就是乱码了。(看到这⾥是不是有种恍然⼤悟 )
如果还不理解再直⽩点:就是服务器数据返回给客户端时候已经被gzip压缩了,⽽你的程序⾥⾯没有⾃动解压⽽已。
抖音python入门教程>switch什么属性qq邮箱数据加载中解决⽅案
1、注释掉 ;
2、可以弄个解压算法把乱码的数据进⾏解压,即可得到正常的H TML返回结果。在这个浮躁的时代;竟然还有⼈能坚持篇篇原创;
如果本⽂对你学习有所帮助-可以点赞 + 关注!将持续更新更多新的⽂章。
比冒泡排序更快的算法⽀持原创。感谢!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论