如何使用Python批量下载URL增量命名的图片?
用Python批量下载增量命名的图片
当然可以用Python实现批量下载,以下是具体的实现方案:
实现步骤
先确保安装了
requests库(用来发送HTTP请求下载图片),如果没装,执行命令:pip install requests编写Python脚本,核心逻辑是循环生成带增量数字的图片链接,逐一下载保存:
import requests import os # 基础URL,把可变的数字部分用占位符代替 base_url = "https://acb.xyz.{:04d}.jpg" # 保存图片的目录,可自行修改 save_dir = "downloaded_images" # 创建保存目录,如果不存在的话 os.makedirs(save_dir, exist_ok=True) # 设置要下载的图片数字范围,比如从0001到0010,就设置start=1,end=10 start = 1 end = 10 for i in range(start, end + 1): # 生成当前图片的URL img_url = base_url.format(i) # 生成保存的文件名,直接用链接里的文件名即可 img_name = os.path.basename(img_url) save_path = os.path.join(save_dir, img_name) try: # 发送GET请求下载图片 response = requests.get(img_url, stream=True) # 检查请求是否成功 if response.status_code == 200: with open(save_path, 'wb') as f: for chunk in response.iter_content(chunk_size=1024): f.write(chunk) print(f"已保存:{img_name}") else: print(f"图片不存在或请求失败:{img_url},状态码:{response.status_code}") except Exception as e: print(f"下载{img_url}时出错:{str(e)}")
关键说明
{:04d}是格式化字符串,用来生成4位的数字,比如1会变成0001,10变成0010,刚好匹配链接里的数字格式stream=True和iter_content是为了分块下载,适合处理较大的图片文件,避免占用过多内存exist_ok=True确保创建目录时如果目录已经存在不会报错- 加入了异常处理,就算某张图片下载失败,程序也会继续处理下一张
你只需要根据实际需求修改start和end的数值,以及save_dir的路径即可。
内容的提问来源于stack exchange,提问作者TBFTTH
相关产品推荐
相关产品推荐

