首页 > 解决方案 > 使用 Python 下载时 Zip 文件损坏

问题描述

我有一个 zip 文件的链接,在通过浏览器访问时会直接下载我的 zip 文件。但是,当我使用 urllib 下载该文件时,文件已损坏。我正在使用以下代码:

import urllib.request
import zipfile

request = urllib.request.urlopen( url )
#save
output = open("install.zip", "wb")
output.write(request.read())
output.close()

archive = zipfile.ZipFile('install.zip', 'r')
archive.extractall()

我在类似的行中发现了一个问题,但没有得到回答,似乎被遗弃了。

谢谢!

标签: python-3.xurllibzipfile

解决方案


你能用requests吗?我发现最干净的方法如下:

import io
import requests
import zipfile

r = requests.get(url)
z = zipfile.ZipFile(io.BytesIO(r.content))
z.extractall()

推荐阅读