批量下载文件存zip
时间: 2023-08-27 12:05:24 浏览: 43
您可以使用Python的zipfile模块来批量下载文件并存储为zip文件。以下是一个示例代码:
```python
import os
import zipfile
import requests
def batch_download_and_zip(file_urls, zip_filename):
# 创建一个临时目录来存储下载的文件
temp_directory = "temp"
os.makedirs(temp_directory, exist_ok=True)
# 下载文件并保存到临时目录
for url in file_urls:
response = requests.get(url)
filename = url.split("/")[-1]
file_path = os.path.join(temp_directory, filename)
with open(file_path, "wb") as file:
file.write(response.content)
# 创建一个zip文件,并将临时目录中的文件添加进去
with zipfile.ZipFile(zip_filename, "w") as zip_file:
for foldername, subfolders, filenames in os.walk(temp_directory):
for filename in filenames:
file_path = os.path.join(foldername, filename)
zip_file.write(file_path, arcname=filename)
# 删除临时目录
os.rmdir(temp_directory)
# 要下载的文件URL列表
file_urls = [
"http://example.com/file1.txt",
"http://example.com/file2.txt",
"http://example.com/file3.txt"
]
# 压缩文件的名称
zip_filename = "files.zip"
# 调用函数进行批量下载并压缩
batch_download_and_zip(file_urls, zip_filename)
```
以上代码将会下载`file_urls`列表中的文件,并将它们保存到名为`files.zip`的压缩文件中。您可以根据需要修改文件URL列表和压缩文件名称。请确保已安装requests和zipfile模块,可以使用`pip install requests`和`pip install zipfile`命令进行安装。