一行配置,大幅减少Python爬虫的流量占用

在通过Chrome访问HTTPS的地址时,我们会发现Chrome的Accept-Encoding这个Header的内容是gzip, deflate, br,这里br对应的是brotli压缩算法,支持br的服务器返回的Content-Encodingheader的内容就是br。brotli压缩算法的压缩效率相对于gzip要高很多,这篇文章中提到,使用brotli时,html文件体积比gzip小21%,js文件比gzip比小15%,css文件比gzip小25%。

从2015年到现在brotli已经得到了大量的网站,CDN服务商和建站服务的支持。所以使用brotli不仅仅可以减少服务器的流量占用,对于大规模爬虫应用来说,在发送请求时在Accept-Encoding这个Header中加上br,同样也可以客观的减少使用的流量。

对于Python爬虫来说,最为常用的请求库是requests和HTTPX,如何让它们启用对brotli的支持呢?

实际上非常简单,在requests的2.26.0版本之后,在HTTPX的0.7.0版本之后,都已经针对brotli进行了支持。只需要保证在现有的Python环境中安装了brotli的相关库,brotli或者brotlipy,那么这两个web请求库就会自动在Accept-Encoding这个Header中加上br,并不需要对代码做任何调整,非常简单。

所以对于Python爬床来说,支持brotli只需要用一行代码简单的安装上brotli或者brotlipy即可:

pip install brotli

或者

pip install brotlipy

这样的话,就可以直接大量减少爬虫的流量。如果在使用像AWS这样的以流量计费的云服务或者代理服务的话,这一部分的流量就能够可观的节约流量费用。

  • 12
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值