分享记录一下,刚遇到的一个乱码网站,爬虫真是个让人脑阔疼的一个职业。
问题简述:
今天接了个临时的需求,需要抓一下某东的评论数据。调研了一下接口发现很简单,很nice,没有任何加密。点击进去就返回结果,但是通过代码请求返回的数据乱码, 让我着实有点蛋疼,话不多说, 上代码
请求代码
返回数据:
发现返回数据都是乱码,尝试了各种编码和解zip数据都不行,发现返回headers 中有一个 ‘Content-Encoding’: ‘br’ 的这么个表示,网上搜了一下这个br。
br 就是 brotli brotli是一种全新的数据格式,可以提供比Zopfli高20-26%的压缩比。据谷歌研究,Brotli压缩速度同zlib的Deflate实现大致相同,而在Canterbury语料库上的压缩密度比LZMA和bzip2略大。 链接:Google开源Brotli压缩算法 微软使用了一种基于谷歌提供的C代码的实现,向.NET Core 2.1添加了Brotli压缩支持。由于Brotli得到了许多Web浏览器和Web服务器的广泛支持,所以.NET Core提供对这项技术的支持是非常有用的。
因为requests 只能帮我们自动解码zip 和deflate 压缩类型的,所以我们需要给这玩意解码一下。
官方给的实例。
over
微信公众号: 爬虫攻城狮。
在这里会不定时的分享一下,爬虫的奇淫巧技,实战中遇到的加密解密,和一些大厂的加密hook和破解,有些内容不过审核,我会提前发到公众号上,大家可以关注交流。