如何在Python中下载zip文件?

2024-05-16 10:14:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下问题。我想下载一个zip文件。请参阅以下代码:

import os
import requests
import time


url = "https://kriminalita.policie.cz/api/v1/downloads/202011.csv.zip"
name = url.split("/")[-1]

response = requests.get(url)

with open(os.path.join(r'C:\Users\misak\Desktop\LD_save\stazene', name), 'w') as f:
    f.write(str(response.content))

zip文件似乎已下载,但我无法打开它,因为“格式未知或已损坏”。但是,当我将我的url放入Chrome并手动尝试时,我能够在WinRAR中打开zip文件。你能帮帮我吗


Tags: 文件代码namehttpsimporturltimeos
2条回答

您的问题是,您正在将zip文件(二进制文件)的内容作为字符串写入。 查看this stackoverflow answer如何编写使用requests.get()收到的二进制文件

如果您只想下载带有url的文件并保存到特定位置,使用urlretrieve会更好:

import urllib.request

print('Beginning file download with urllib2...')

url = 'http://i3.ytimg.com/vi/J -aiyznGQ/mqdefault.jpg'
urllib.request.urlretrieve(url, '/Users/scott/Downloads/cat.jpg')

相关问题 更多 >