影刀RPA新手教程:通知消息格式化完全指南——把数据拼成一条好看的消息

📅 发布时间:2026/7/4 2:51:42 👁️ 浏览次数:
影刀RPA新手教程:通知消息格式化完全指南——把数据拼成一条好看的消息
影刀RPA新手教程通知消息格式化完全指南——把数据拼成一条好看的消息一、开篇群里的消息丑得让我想删机器人我第一次给飞书群配完消息推送后发出去的消息长这样“张三80李四92王五67赵六88”同事在群里问“这发的什么东西看不懂。”我当时脸都红了。数据是对了但没有任何格式就是一根大长条。后来我花了一下午研究怎么把消息格式化从那之后发出去的消息就赏心悦目了。今天这篇就是教你怎么把原始数据变成一条清晰好看的通知消息。二、安装与基础回顾影刀的安装略过官网下载Windows版一路默认安装。重点提示安装时务必勾选浏览器扩展这是网页元素捕获的基础。影刀提供了丰富的字符串处理指令这些是消息格式化的核心工具。左侧指令列表搜索字符串或文本能看到拼接、替换、截取、分割等指令。这些指令不需要额外安装插件是影刀内置的功能。三、元素定位与数据来源消息格式化的前提是先把数据采集到。采集数据就要用到元素定位。XPath快速入门//tr[contains(class,data-row)]/td[2]表示找到所有class包含data-row的行取每行第2个格子。影刀里经常会用到相似元素组捕获第一个元素后点捕获相似元素按钮捕获第二个同类元素影刀就会自动识别出所有相似的元素。这个功能在采集列表数据时特别好用。批量数据抓取时影刀会自动帮你处理元素定位问题你只需要在网页上框选数据区域就行。四、变量与数据类型消息格式化里最核心的技能是字符串操作所以变量类型以字符串为主。字符串变量用双引号包裹如name 张三。数字变量直接写数字如count 128。拼多多店群自动化报活动上架列表变量用方括号如students [张三,李四,王五]。字典变量用花括号如student {name:张三,score:90}。字符串拼接用符号姓名 name 成绩 score。数字必须先转成字符串才能拼接消息。用转换为字符串指令。转换score_str str(score)然后再拼接成绩 score_str。数字格式化如果想显示88.00而不是88用format(score, .2f)保留两位小数。五、流程控制与格式化逻辑消息格式化的逻辑经常需要流程控制来配合。比如数据超过10条就用汇总格式少于10条就逐条展示。用If条件判断data_count 10。如果数据多就拼一条汇总消息今日共采集 data_count 条数据。如果数据少就循环每条数据逐一展示。For Each循环的用法遍历数据列表每次拿一条数据出来拼到消息变量后面。message message (index1) . item_name item_value \n这里的\n是换行符在消息里会换行显示。六、核心实战格式化文本消息假设你从网页上采集了以下数据存在变量data_list列表类型里[{name:张三,score:80,rank:1}, {name:李四,score:92,rank:2}, ...]现在要把它们拼成一条好看的消息发到飞书群。第1步初始化消息变量。message 【每日成绩通报】\n第2步用For Each循环遍历data_list把每条数据拼进去message message 第 item.rank 名 item.name 成绩 item.score 分\n第3步在循环外面加汇总信息message message \n共统计 data_count 位同学平均分 avg_score 分最后消息的效果【每日成绩通报】 第1名张三成绩80分 第2名李四成绩92分 第3名王五成绩67分 ... 共统计10位同学平均分85.3分是不是比张三80李四92王五67好看太多了。七、进阶表格格式化消息如果数据列比较多列格式的对齐就是个大问题。比如商品数据有商品名“价格”销量三列直接在消息里拼的话经常对不齐。解决方法是用固定宽度填充空格Python代码片段放在执行Python代码指令里msg【销售数据汇总】\nmsg{:10}{:10}{:10}\n.format(商品名,价格,销量)msg-*30\nforitemindata_list:msg{:10}{:10}{:10}\n.format(item[name][:8],str(item[price]),str(item[sales]))msg\n共{}条数据.format(len(data_list)){:10}的意思是左对齐占10个字符位置。这样每列都对齐了。注意飞书的文本消息是等宽字体对齐效果很好。企业微信也是。八、进阶飞书富文本格式化如果想让消息更好看可以用飞书的富文本消息格式。富文本支持加粗、颜色、引用等格式比纯文本消息好看得多。请求格式{msg_type:post,content:{post:{zh_cn:{title:每日数据报告,content:[[{tag:text,text:采集状态,style:[]},{tag:text,text:成功,style:[bold]}],[{tag:text,text:数据总数,style:[]},{tag:text,text:count条,style:[bold]}],[{tag:text,text:\n数据摘要\n,style:[bold]}]]}}}}每条内容是一个数组里面包含多个tag:text的块。每行是一个数组可以放多个文本块每个块单独设置样式。缺点是这个JSON结构比较冗长数据多的时候不好维护。一般用于重要通知消息日常消息用纯文本格式就够了。我在home.linyan.cloud上整理了一些常用的消息格式化模板。九、平台实战从采集到格式化消息的完整流程TEMU店群矩阵自动化运营核价报活动现在串一个完整案例从网页采集数据格式化后发到飞书群。场景每天早上从数据看板采集TOP10商品数据格式化后推送。流程步骤打开浏览器登录数据看板系统进入商品排行榜页面用批量数据抓取采集商品名、销售额、销售量将采集的数据存到变量product_list列表每个元素是字典计算汇总数据总销售额、平均销售量、TOP1商品拼接消息内容发送HTTP请求到飞书Webhook关闭浏览器消息拼接的核心代码在设置变量指令里msg 【商品销售日报】\n日期 today \n\n TOP3商品\n msg msg 1. product_list[0].name 销售额 product_list[0].sales 元\n msg msg 2. product_list[1].name 销售额 product_list[1].sales 元\n msg msg 3. product_list[2].name 销售额 product_list[2].sales 元\n msg msg \n 汇总共 count 个商品总销售额 total 元注意上面用的是影刀字符串拼接方式不是Python代码。影刀里的变量引用直接用变量名。十、系统联动消息格式化不是独立存在的它和整个自动化生态紧密相连。与定时任务联动每天早上9点触发自动采集、格式化、推送与多个通知渠道联动同一条格式化消息发给飞书群、企业微信群、邮件。与数据库联动从数据库查数据格式化后推送。与条件触发联动只有当数据异常比如销售额下降20%时才发送特殊格式的告警消息。一个实用的方案配置两套消息格式正常情况发简洁版异常情况发详细版。十一、工程化规范消息格式化的工程规范非常重要不然以后修改格式会让你怀疑人生。消息模板单独存放改格式时不改动业务逻辑。每种消息格式给一个名字如daily_report_template、alert_template。消息里不要放敏感数据密码、手机号等。消息长度做限制单条消息不要超过5000字。用变量存储分隔线和格式符号如line_separator 统一修改。每条消息加时间戳方便追溯。重要消息加入消息编号每日自增方便引用。十二、速查表与常见问题字符串操作速查拼接两个字符串\n换行符len(str)获取字符串长度left(str, n)取左边n个字符right(str, n)取右边n个字符mid(str, start, n)取中间n个字符replace(str, old, new)替换字符串消息格式化常用分隔符-减号分隔线等号重要分隔线•实心圆点列表项→箭头指向关系常见问题换行不生效检查是否正确使用了\n反斜杠n数字拼接后变成奇怪结果先确认变量类型数字要先转字符串消息太长被截断单条消息有长度限制超长要分条发送编码乱码检查请求头Content-Type是否设置为application/json;charsetutf-8作者林焱#影刀RPA #RPA教程 #消息格式化 #飞书 #企业微信 #影刀新手 #自动化办公