首页 > 解决方案 > 从 URL 下载压缩文件

问题描述

好吧,伙计们,我在需要的时候来到这里,我一直在尝试开发一批,这批的第一步是从网上下载一个压缩文件,我尝试的第一个代码是这个

import requests

url = "http://servicos.ibama.gov.br/ctf/publico/areasembargadas/ConsultaPublicaAreasEmbargadas.php"

save_path = "C:/Users/gb2gaet"
proxies = {
"I had to erase this for safety reasons",
}

r = requests.get(url, proxies=proxies, stream=True, verify=False )
handle = open('test.zip', "wb")
for chunk in r.iter_content(chunk_size=512):
    if chunk: 
        handle.write(chunk)
handle.close()

事实证明,我得到了一个无法打开的压缩文件,经过长时间的搜索,我发现了一个可能的解决方案,就像这样

import requests, zipfile, io

url = "http://servicos.ibama.gov.br/ctf/publico/areasembargadas/ConsultaPublicaAreasEmbargadas.php"

save_path = "C:/Users/gb2gaet"
proxies = {
you know
}

r = requests.get(url, proxies=proxies, stream=True, verify=False )
z = zipfile.ZipFile(io.BytesIO(r.content))
z.extractall(save_path)

但我最终得到的只是这个错误信息

zipfile.BadZipFile:文件不是 zip 文件

如果你们中的任何人能在这件事上帮助我,我将永远感激不尽

标签: pythondownloadzip

解决方案


from urllib.request import urlopen


open('Sample1.zip', 'wb').write(urlopen('Valid Url for Zip File').read())

推荐阅读