
影刀RPA实操指南图片批量下载与重命名的完整方案上个月有个做电商的朋友找我帮忙京东搜索页里几百张商品图要批量下载下来再按商品顺序重命名人工右键另存为一张张点估摸要干一整天。这就是典型的图片批量下载需求——网页上的图看得见、下不来、名字还是乱码。我用影刀RPA花四十分钟搭了个流程跑一遍全部搞定这篇文章把完整方案拆开讲给你。我也是非技术出身做影刀RPA实操两年多这个流程我自己跑过几十次中间踩的坑都会在后面讲清楚。整体思路就四步拿到图片链接列表、循环下载、按规则重命名、把下载清单写进Excel留底。环境准备与安装确认如果你还没装过影刀RPA去官网下载客户端Windows版安装包一路下一步即可装完记得在浏览器里装对应的影刀插件Chrome和Edge都有网页自动化没有插件后面全跑不通。装好后打开客户端界面分三块左侧是流程画布右侧是指令面板所有指令都能在顶部搜索框搜到下方是日志输出区。本文用到的指令全在网页自动化和文件操作两个分类里。元素捕获拿到相似元素组网页自动化的第一步永远是元素捕获。以京东商品搜索页为例点击顶部工具栏的捕获元素按钮浏览器会自动跳转鼠标移到商品图上出现橙色边框后点击确认再点捕获相似元素去点另一张商品图影刀会自动推断规则生成这一整页图片的相似元素组。这里有个判断技巧捕获时影刀如果提示捕获的是图像说明你点的对商品列表页的图基本都是img元素。如果每次校验都只命中一张图说明规则里带了序号之类的变化项需要在元素编辑器里把会变的属性取消勾选。捕获完后按F12看这些图片元素的源码会发现图片链接都藏在src属性里。这就是我们批量下载的钥匙。获取图片链接属性提取的三种方法拿到相似元素组后用「获取相似元素列表(web)」指令功能选择获取元素属性属性名填src就能把整页图片的链接批量抓进一个列表变量。这是最标准的方法。但有两种情况要额外处理。第一种src属性可能不带http前缀比如只有//img14.360buyimg.com开头这种要先在循环里拼接https:才能正常下载。第二种部分详情页的图片链接根本不在src里而是写在style的background-image里京东详情页就有这种这时候要用JavaScript取。// 方法一网页执行JavaScript取src属性不需要拼接https:function(element,input){returnelement.src;}// 方法二取style背景图链接京东详情页场景// getComputedStyle拿到计算后的样式再切掉url(和)两头function(element,input){varurlgetComputedStyle(element,null)[background-image];returnurl.substr(5,url.length-7)}把这段代码贴进「执行JavaScript」指令里返回值直接就是完整可用的图片链接省去拼接环节。我第一次做时不知道style这种藏法src取出来全是空的排查了一下午才反应过来。循环下载HTTP下载指令与文件夹设置链接列表拿到手用「ForEach列表循环」遍历循环体里放下载指令。影刀里下载文件有两个常用指令「HTTP下载」直接按URL下载适合我们这种已拿到链接的场景「下载文件」则模拟点击网页下载按钮适合点按钮触发的场景。用「HTTP下载」时在右侧指令详情面板把URL参数填成循环项记得点亮Python模式用循环项变量文件夹路径填桌面上的目标文件夹比如C:\Users\你的用户名\Desktop\111。这里最容易踩的坑文件夹路径必须提前存在。「HTTP下载」不会自动创建文件夹路径写错一个字它就静默失败或者报错。我的习惯是流程开头用「创建文件夹」指令先建好输出目录再开始下载。变量这一块顺便说下类型链接列表是列表类型循环项默认是字符串重命名时拼接的序号是数字类型拼接前要用str()转成字符串不然会报类型错误。这是新手最常见的变量类型问题遇到报错先打印日志看看变量长什么样。批量重命名文件重命名指令实战下载完的图片默认是乱七八糟的名字重命名用「文件重命名」指令参数就三个文件路径、新的文件名称、输出重命名后的新路径。推荐做法是下载和重命名放同一个循环里每下载一张立刻重命名成商品图_001.jpg这种格式。序号用循环索引自动生成不用人工维护。# 循环体内重命名逻辑Python模式# item 是当前图片链接i 是循环索引从0开始# 拼接文件名商品图_001.jpg 的格式zfill(3)补齐三位数new_name商品图_str(i1).zfill(3).jpg# old_path 是上一步HTTP下载后保存的文件路径变量# 「文件重命名」指令文件路径old_path新的文件名称new_name如果图片和商品信息的对应关系比较复杂建议先把图片链接和商品名写进Excel重命名时从Excel读对照表。「打开Excel」→「读取区域」拿到数据表→ForEach列表循环遍历→按行取值重命名。这样即使中途出错对照关系也在表格里随时能查。文件名清洗与数据处理商品名重命名时经常碰到非法字符问题Windows文件名里不能有 / \ : * ? |而商品标题里这些符号很常见。不清洗直接重命名流程会批量报错。用Python做一次替换即可放在重命名指令之前# 输入title从Excel读出的商品标题# 输出safe_title清洗后的合法文件名safe_titletitleforchin/\\:*?|:safe_titlesafe_title.replace(ch,)# 再顺手去掉首尾空格防止路径拼接出问题safe_titlesafe_title.strip()数据处理这个环节是很多教程忽略的但真跑起来你会发现下载一百张图报错的往往不是下载是文件名。另外几百个文件下载完建议把序号、原名、新名、下载时间写进Excel做台账后续对账方便。流程控制与防呆设计整个流程的控制结构很简单获取链接列表→ForEach列表循环→循环体下载重命名写Excel→循环结束输出统计。但有几个防呆细节值得加下载前用「判断文件是否存在」检查输出目录是否已有同名文件有就跳过避免重复下载循环体套Try-Catch异常捕获单张图下载失败不要中断整个流程把失败的链接记到失败列表里跑完后把失败列表写入Excel的第二个Sheet人工补下就行这套防呆结构我建议做成子流程主流程负责取链接子流程负责单张图的下载重命名记录用流程参数传链接进去、传结果出来。下次换个网站要下图只改主流程的捕获部分子流程直接复用。延伸阅读与学习资源影刀官方的「文件与文件夹自动化」专题课程值得完整看一遍「HTTP下载」「文件重命名」「创建文件夹」这些指令的视频演示比我文字讲得直观。批量下载这块官方文档里还有个常见场景合集讲了批量数据抓取直接拿图片链接的玩法配合本文方案可以把抓信息下图片合并成一个流程。完整流程源码我放在代码仓库 home.linyan.cloud可以直接参考改造把捕获规则换成你自己的目标网站就能跑。#影刀RPA #RPA自动化 #批量采集 #网页自动化 #图片下载作者林焱