ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

影刀RPA新手教程:抖音电商罗盘数据定时抓取与日报

影刀RPA新手教程:抖音电商罗盘数据定时抓取与日报 影刀RPA新手教程抖音电商罗盘数据定时抓取与日报每天早上打开抖音电商罗盘把昨日GMV、访客数、转化率、商品榜一个个抄进日报表再发给老板——这套动作很多运营每天要花半小时数据一多还容易抄错行。这篇教程讲怎么用影刀RPA把罗盘数据抓取和日报生成做成全自动每天早上定时启动自动登录、自动采集核心指标、自动写入日报模板、自动发通知。我是做运营出身的不写代码这套影刀RPA流程是我自己一块块搭出来的。罗盘页面数据加载慢、图表区抓不到数字、页面要滚动才渲染这些坑我都踩过下面逐个讲怎么绕。整篇的主线是定时抓取与日报这六个字抓取靠元素定位稳定靠等待策略无人值守靠定时任务和消息通知。前两段先把地基打好后面每一节都能单独拿出来用。从安装到跑通第一条流程环境搭建影刀RPA官网下载安装包安装后注册登录社区版即可开练。第一件事装浏览器插件左侧工具里选Chrome插件安装装完浏览器右上角图标点亮才算成功网页自动化全靠它和浏览器通信。界面三件套左边的指令面板搜索框直接搜指令名、中间的流程区指令拖进来排顺序、右边的指令详情选中指令后填参数。新手指引里有个魔法指令入口3.0版本可以用对话描述直接生成指令段生成后要自己核对参数再跑。社区版每天有运行时长限制做每日定时日报够用要挂多个流程或跑得久考虑创业版。编辑器设置里把Python环境初始化一下后面清洗数据要写几行Python。罗盘页面结构分析先看懂再动手抖音电商罗盘的页面是典型的SPA动态加载进首页先白屏核心指标卡片延迟一两秒才出来部分数据还要滚动到可视区才渲染。动手前先做三件侦察工作手动打开罗盘F12开发者工具看核心指标卡片的DOM结构记下class名是否带随机后缀观察日期选择器的默认值是不是昨日日报场景大多不用改找到核心指标的区域确认数字是纯文本还是嵌在图表canvas里——罗盘的指标卡基本是文本canvas只有图表文本就能用获取元素文本直接抓。结论先说罗盘日报只需要抓文本不碰图表难度比想象低。真正费劲的是时序。页面加载顺序是登录校验→框架渲染→接口请求→卡片渲染。指令时序跟错了抓到的全是空字符串。下一节专门讲等待策略。等待策略选型三种等待的区别与用法影刀RPA处理动态页面有三种等待手段各有各的用法等待方式用法适用场景等待元素出现等目标元素渲染出来抓取前必用网页加载完成等页面整体加载事件打开网页后| 延时等待 | 固定秒数 | 兜底尽量少用 |正确姿势是组合拳打开网页指令后接等待元素出现目标选核心指标卡片的标题元素超时30秒抓取每个指标前再各等一次对应的元素。延时等待只在接口偶发慢的时候做兜底比如卡片出现后再延1秒让数字渲染完。不要用等10秒再抓这种写法网络快时浪费时间网络慢时照样抓空。以元素出现为准才是稳定方案。还有个隐性坑罗盘页面上多个指标卡的class结构一模一样只有顺序不同。定位第N个卡片用索引式XPath//div[class‘card’][2]这种但卡片顺序可能随运营位调整变化更稳的定位是拿卡片内的固定标题文本做锚点配合兄弟轴找数字。元素定位四合一锚点定位与CSS选择器日报要抓的指标通常是GMV、支付订单数、访客数、成交转化率。每个指标的定位走锚点定位路线# 捕获元素找到包含成交金额文本的标题节点 //*[contains(text(),成交金额)] # 捕获元素标题节点的下一个兄弟节点数字所在容器 //*[contains(text(),成交金额)]/following-sibling::*[1] # 参照物定位通过标题定位同一卡片内的数值 //*[contains(text(),成交金额)]/ancestor::div[2]//*[contains(class,num)]第一行是找标题第二、三行是顺着标题找数字这就是参照物定位的思路页面乱改class但成交金额四个字不会变以不变定位万变。CSS选择器处理纯结构场景更顺手.card .num 表示class为card的元素内部所有class为num的元素比等价XPath短一半。选型规则和上篇讲的一致涉及文本用XPath纯结构用CSS拿不准就XPath。正则表达式在定位上的用法是属性模糊匹配class带随机后缀时用正则匹配前缀部分比如 class^“num_” 表示以num_开头的class。三种方式在影刀的元素编辑器里可以混用捕获后进编辑框手改即可。流程控制指标循环抓取与列表循环四个指标抓取逻辑完全一样只是定位串不同正确做法是把定位串做成列表用ForEach列表循环遍历。流程结构建一个列表变量塞入四个XPath定位串ForEach列表循环遍历循环体内获取元素文本抓数字存进结果列表循环结束结果列表写入Excel日报模板。结果和指标名要对得上用两个列表按下标对应或者直接建字典指标名做键、数值做值写日报时按键取值不会错位。If条件判断用在两处一是判断元素是否存在判断昨日日期是否已切换罗盘凌晨数据更新有延迟抓太早可能是前天的不对就用点击元素切日期二是抓到的文本为空时走重试分支——我加的逻辑是空值时延时2秒再抓一次连抓三次为空才记异常这个重试机制让流程成功率从八成提到接近全成。Try Catch包住整个抓取段Catch里输出日志加截图Finally里关浏览器保证定时任务不因单点报错卡死。罗盘数据抓取实战登录、滚动与抓取完整主流程串一遍“打开网页打开罗盘首页打开方式选新建标签页”判断元素是否存在检查页面上是否已有登录后的店铺名元素存在跳过登录不存在等待元素出现等扫码超时120秒等待元素出现等核心指标卡片超时30秒向下滚动指令滚动页面一次确保懒加载区域渲染——罗盘部分模块在首屏外不滚不渲染这是实测结论ForEach循环抓四个核心指标锚点定位如上节商品榜要抓列表用获取相似元素列表抓整列商品名和GMVFor次数循环配下标逐项获取元素文本拼成二维数据。滚动后记得延时1秒再抓滚动触发渲染有延迟。我第一次没做这一步抓回来的商品榜永远少最后几行排查了一晚上才明白是懒加载。商品榜这类列表还有个数量问题页面只渲染可视区内的条目滚到底部才补渲染。官方文档对懒加载的标准解法是滚动加index去重加滚动判断每次滚一段累加抓到的元素数量数量不再增长就说明到底了。日报场景商品榜只要前几名滚两三屏足够不用做完整翻页逻辑。日报生成Excel写入与Python清洗抓到的数据落成日报用影刀的Excel指令链打开Excel打开日报模板读取区域读模板里已有的历史数据算行号写入行数据到表格把当日数据追加在末尾最后保存关闭。日报模板建议做成一行一天、列固定为日期、GMV、订单数、访客数、转化率追加式写入不用关心格式模板里预先设好单元格样式和环比公式新行写入后公式自动算。数字清洗用Python代码块一段可复用的处理# 输入raw_values 为抓取的原始文本列表如 [¥128,394,3,205,15.2%]# 输出clean_values 纯数值列表如 [128394, 3205, 15.2]clean_values[]forvinraw_values:vv.replace(¥,).replace(%,).replace(,,).strip()clean_values.append(float(v)if.invelseint(v))抓取文本带千分位逗号和货币符号是最常见的脏数据别在影刀指令里一层层replace进Python三行搞定。转化率这种百分比要不要去掉百分号看你日报模板公式怎么写保持口径统一。写完日报顺手做一次环比读取区域拿昨天和前天两行Python里算个增长率异常波动比如掉超30%就打个标记列老板一眼能看到。定时任务与飞书通知无人值守闭环日报自动化的最后一块是定时加通知。流程发布成应用客户端点我的应用→发布→按向导走完然后在应用上配置计划任务每天早上8点触发。通知用飞书群通知指令飞书建个群群设置里添加自定义机器人拿到Webhook地址填进指令消息体用变量拼接当日数据。我拼的格式是昨日GMV 128394环比5.2%详见日报表再加一条日报文件的路径。这样流程跑完群里自动弹消息老板和你都不用问。Windows定时执行的三个保障电源设置关闭睡眠锁屏允许定时任务错开数据更新时间罗盘昨日数据一般早上更新完8点后跑稳妥任务失败也要有通知Catch里同样挂一条飞书通知报错原文带上。通知指令单独封装成子流程输入参数是消息文本主流程成功失败两条路都调它改通知格式只改一处。工程化规范与调试习惯流程按职责拆子流程01_登录检测、02_抓取指标、03_抓取商品榜、04_写日报、05_通知。子流程间用输入输出变量传数据抓取子流程输出数据列表写日报子流程接收后写入。命名带编号画布上一目了然。调试三板斧断点指令右键添加断点运行时停在断点处、单步执行断点后一行行走、输出日志关键节点打印变量值。我排查抓到空字符串就靠断点加变量面板最后发现是滚动后没等渲染改一行就好了。每个子流程的输入输出写清注释三个月后回改不抓瞎。这套日报模板我后来复制了三份给不同店铺只改XPath和Webhook地址。完整源码整理在代码仓库里文末学习资源有入口抓取、清洗、通知三段都是独立子流程。常见报错速查表报错现象根本原因解决办法抓到的全是空文本页面未渲染完就抓取抓取前等待元素出现加滚动后延时商品榜数据缺尾行懒加载未滚动到底滚动加数量判断滚到不再增长凌晨跑抓到旧日期罗盘数据更新延迟定时设8点后或流程内校验日期定时任务没跑电脑睡眠或会话被占用关睡眠避免同时开同一浏览器Profile循环变量取不到变量定义在循环作用域内变量移到循环外层定义再加三条易错点XPath里的中文文本要和页面完全一致罗盘有些指标名带空格contains匹配不到就查空格ForEach列表循环的循环变量类型是列表项本身不是下标要下标得开循环索引选项飞书Webhook有频率限制别在循环里发消息只在成功失败两个出口发。学习资源与延伸阅读官方影刀学院的新手课和网页自动化课值得刷一遍等待策略和循环指令讲得比我系统。文档站的常见问题页按报错关键词搜效率很高。本篇日报流程的完整源码在我的开源主页 home.linyan.cloud抓取与日报两段可独立复用欢迎参考改造到自己的店铺场景。#影刀RPA #RPA自动化 #抖音电商 #定时任务 #数据采集作者林焱
返回列表