请问python怎么从url中下载zip、7z、rar等压缩文件,而不损坏内容?

我想用python爬虫从网上下载一部分文件,其中包含txt格式和zip、7z、rar这些压缩格式,其中txt格式的文件能够正常下载,但是压缩格式的文件下载之后损坏,都是 0 字节,请问该怎么做?

with open(filename,'wb') as f:
    f.write(requests.get(file).content)
    f.close()

这是我最开始的方法,后来查询到有方法能下载zip格式的文件,如下:

import requests 
 
def download_url(url, save_path, chunk_size=128):
    r = requests.get(url, stream=True)
    with open(save_path, 'wb') as fd:
        for chunk in r.iter_content(chunk_size=chunk_size):
            fd.write(chunk)

但是尝试之后发现还是文件损坏,查看属性 0 字节。

求教大佬。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y

楼主,你这个问题后来是怎么解决的

    with open(name, 'wb') as Fd:

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

        for chunk in response.iter_content(chunk_size=1024):

            if chunk:

                Fd.write(chunk)