python3下载进度条不动_Python3进度条和gzip下载

如果下载的数据是gzip编码的,那么将它们加入for data in response.iter_content():后的内容长度和数据的总长度是不同的,因为它会自动解压缩gzip编码的响应

因此,酒吧变得越来越长,一旦它成为一个单一的线路,它开始淹没终端

这个问题的一个可行的例子(该网站是我在谷歌上找到的第一个同时获得内容长度和gzip编码的网站):import requests,sys

def test(link):

print("starting")

response = requests.get(link, stream=True)

total_length = response.headers.get('content-length')

if total_length is None: # no content length header

data = response.content

else:

dl = 0

data = b""

total_length = int(total_length)

for byte in response.iter_content():

dl += len(byte)

data += (byte)

done = int(50 * dl / total_length)

sys.stdout.write("\r[%s%s]" % ('=' * done, ' ' * (50-done)))

sys.stdout.flush()

print("total data size: %s, content length: %s" % (len(data),total_length))

test("http://www.pontikis.net/")

ps,我在linux上,但它也会影响到其他操作系统(除了windows,因为它不能在iirc上工作)

我正在使用请求。会话对于cookies(和gzip)处理,所以使用urllib和其他模块的解决方案不是我想要的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值