影刀RPA图片批量下载实战:从网页抓图到本地保存全流程

影刀RPA图片批量下载实战:从网页抓图到本地保存全流程 影刀RPA图片批量下载实战从网页抓图到本地保存全流程作者林焱批量下载图片是很多运营同学的高频需求竞品图片采集、商品主图备份、素材库建设……这类任务人工下载一张一张太费时用影刀跑一个流程几分钟搞定几百张。这篇把几种常见的图片下载场景和踩坑都整理出来。一、图片下载的两种模式模式一从网页元素获取图片URL再下载适合商品列表页、图片相册类网站。先抓图片的src属性拿到 URL然后逐个下载。模式二直接截图适合网页内容不允许直接提取 URL、或者要保存页面截图。用影刀截图指令保存当前页面或指定区域。本篇主要讲模式一模式二在截图与OCR篇有详细介绍。二、方法一获取图片URL再下载步骤1获取图片元素的src属性先在网页上捕获图片元素然后读取其src属性。操作路径指令库 → 网页操作 → 获取元素属性参数店群矩阵自动化突破运营极限元素已捕获的图片元素属性名src输出图片的完整URL或相对URL踩坑一有些网站用懒加载图片真实URL存在data-src而不是src。如果src返回的是一个loading占位图URL改取data-src。踩坑二有些返回的是相对路径如/images/product.jpg需要手动拼接成完整URLhttps://域名.com 相对路径。步骤2下载图片到本地操作路径指令库 → 文件操作 → 下载文件参数URL图片完整URL保存路径本地保存的文件夹路径要提前创建好文件名保存的文件名含扩展名如商品001.jpg踩坑保存路径末尾要用\结尾Windows路径里不能有特殊字符。三、方法二批量获取所有图片如果一个页面上有很多图片比如商品列表用获取元素集合批量拿到所有图片元素再循环处理。// 1. 获取页面所有产品图片 图片元素列表 获取元素集合(CSS选择器: .product-img img) // 2. 初始化计数器 序号 1 // 3. 循环下载 ForEach 图片元素 in 图片元素列表 图片URL 获取元素属性(图片元素, src) // 4. 生成文件名 文件名 商品_ 数字转文本(序号) .jpg // 5. 下载 下载文件(图片URL, D:\商品图片\, 文件名) 序号 序号 1 等待(500毫秒) // 防止下载太快被封四、文件命名策略不要全部用001.jpg、002.jpg这种无意义的命名后续找图很麻烦。推荐方案商品名 序号文件名 商品名称 _ 数字转文本(序号) .jpg // 苹果iPhone15_001.jpg注意商品名称里可能含有特殊字符/、:、*等这些字符在 Windows 文件名里是非法的。用替换指令把非法字符替换成-或_安全文件名 替换文本(商品名称, /, -) 安全文件名 替换文本(安全文件名, :, -) 安全文件名 替换文本(安全文件名, *, ) // 可以用Python扩展一次性处理所有非法字符五、处理翻页批量下载一页只有20张图要下载10页共200张。总页数 10 当前页 1 循环 当前页 总页数 // 处理当前页所有图片 图片列表 获取页面所有图片() ForEach 图片 in 图片列表 下载图片(图片URL, 生成文件名()) // 翻到下一页 如果 当前页 总页数 点击下一页按钮 等待页面加载(2秒) 当前页 当前页 1六、创建分类文件夹大量图片建议按分类存放不要全堆在一起。操作路径指令库 → 文件操作 → 新建文件夹参数文件夹路径判断文件夹是否已存在不存在再创建目标文件夹 D:\商品图片\ 商品分类 如果 非 文件夹是否存在(目标文件夹) 新建文件夹(目标文件夹) 下载文件(图片URL, 目标文件夹 \, 文件名)七、跳过已下载图片断点续传temu店群自动化报活动案例流程中途失败再跑不想重复下载已有文件目标路径 保存文件夹 \ 文件名 如果 非 文件是否存在(目标路径) 下载文件(图片URL, 保存文件夹, 文件名) 记录日志(已下载 文件名) 否则 记录日志(跳过已存在 文件名)八、下载失败处理网络波动、URL失效都会导致下载失败加错误处理避免整个流程崩掉尝试 下载文件(图片URL, 保存路径, 文件名) 捕获异常 e 失败记录 图片URL | 原因 e.message 添加到末尾(失败列表, 失败记录) 记录日志(下载失败 图片URL)流程结束后再单独处理失败列表。九、图片格式处理有些网站图片URL末尾没有扩展名或者格式是 webp需要处理判断图片格式如果 图片URL包含(.jpg) 或 图片URL包含(.jpeg) 扩展名 .jpg 否则如果 图片URL包含(.png) 扩展名 .png 否则如果 图片URL包含(.webp) 扩展名 .webp 否则 扩展名 .jpg // 默认用jpg十、实战京东商品主图批量下载打开京东搜索页搜索目标商品获取所有商品卡片中的主图元素CSS.p-img img获取每个图片的src属性注意京东图片URL有时以//开头需要加上https:前缀获取同一卡片中商品名称用于命名下载到指定目录翻页继续最多5页京东图片踩坑图片URL是//img10.360buyimg.com/...前面加https:才能访问部分图片是懒加载需要滚动到元素可见后再取src这套流程走一遍几百张图片自动到位不用手动右键另存为了。作者林焱