在互联网时代,我们经常需要下载各种资源,ZIP文件作为常见的压缩格式,其下载和提取过程有时会变得繁琐。今天,我将教你如何使用Python编写一个简单的一键脚本,实现批量下载ZIP文件,让你告别手动烦恼。
脚本准备
首先,确保你的电脑上已经安装了Python。你可以从Python的官方网站下载并安装最新版本。
环境搭建
- 打开命令行窗口,输入以下命令安装
requests库,用于发送HTTP请求:
pip install requests
- 安装
zipfile库,用于解压ZIP文件:
pip install zipfile
编写脚本
接下来,我们将编写一个Python脚本,用于批量下载ZIP文件。以下是一个简单的脚本示例:
import requests
import zipfile
import os
def download_zip(url, save_path):
"""
下载ZIP文件
:param url: ZIP文件的URL地址
:param save_path: 保存路径
"""
try:
response = requests.get(url)
response.raise_for_status() # 检查请求是否成功
with open(save_path, 'wb') as f:
f.write(response.content)
print(f"文件已下载到:{save_path}")
except requests.RequestException as e:
print(f"下载失败:{e}")
def extract_zip(zip_path, extract_to):
"""
解压ZIP文件
:param zip_path: ZIP文件路径
:param extract_to: 解压到的目标文件夹
"""
try:
with zipfile.ZipFile(zip_path, 'r') as zip_ref:
zip_ref.extractall(extract_to)
print(f"文件已解压到:{extract_to}")
except zipfile.BadZipFile:
print(f"文件损坏,无法解压:{zip_path}")
except Exception as e:
print(f"解压失败:{e}")
def batch_download(urls, save_dir):
"""
批量下载ZIP文件
:param urls: ZIP文件URL列表
:param save_dir: 保存目录
"""
if not os.path.exists(save_dir):
os.makedirs(save_dir)
for url in urls:
zip_name = url.split('/')[-1]
save_path = os.path.join(save_dir, zip_name)
download_zip(url, save_path)
extract_zip(save_path, save_dir)
# 使用示例
urls = [
'http://example.com/file1.zip',
'http://example.com/file2.zip'
]
batch_download(urls, 'downloaded_files')
脚本说明
download_zip函数用于下载ZIP文件,接收URL和保存路径作为参数。extract_zip函数用于解压ZIP文件,接收ZIP文件路径和解压目标文件夹作为参数。batch_download函数用于批量下载ZIP文件,接收URL列表和保存目录作为参数。
使用脚本
- 将上述脚本保存为
batch_download.py。 - 修改
urls列表中的URL为你要下载的ZIP文件的地址。 - 运行脚本:
python batch_download.py
脚本将自动下载ZIP文件并解压到指定的目录。
通过以上步骤,你就可以轻松使用Python批量下载ZIP文件了。希望这个教程能帮助你节省时间和精力。
