影刀RPA新手教程_从零搭建自动化日报系统
影刀RPA新手教程从零搭建自动化日报系统——一个完整的综合实战项目前面几十篇文章讲了很多独立技能。这篇文章把它们串起来做一个完整的项目。项目目标每天早上自动抓取拼多多店铺数据生成日报Excel发到企业微信群。不需要一次看懂所有细节。把它当成一个食谱先照着抄跑通了再改。一、整体架构定时任务每天早上8:00 │ ▼  A_登录流程 ──→ B_数据采集 ──→ C_数据处理 ──→ D_生成报表 ──→ E_发送通知五个步骤五个子流程清晰分离。任何一个坏了只影响它自己。店群矩阵自动化突破运营极限二、A_登录流程参照前面的Cookie管理和登录态检测文章# 子流程A_登录流程# 返回值全局变量.bool_已登录打开网页(https://mms.pinduoduo.com/login)# 尝试加载Cookie如果 文件存在(D:\\cookie\\pdd_cookie.txt):读取文本文件(D:\\cookie\\pdd_cookie.txt)-cookie内容 设置Cookie(cookie内容)刷新页面()# 检测登录态判断元素是否存在(店铺名称)-登录状态 如果 登录状态False:# Cookie过期重新登录清除当前网页Cookie()等待元素出现(账号输入框,5秒)输入文本(账号输入框,全局变量.str_账号)输入文本(密码输入框,全局变量.str_密码)点击元素(登录按钮)等待元素出现(店铺名称,10秒)# 保存新Cookie获取当前网页Cookie()-新cookie 写入文本文件(D:\\cookie\\pdd_cookie.txt,新cookie)全局变量.bool_已登录True输出日志(登录流程完成)三、B_数据采集进入数据页面遍历采集今天的订单或商品数据# 子流程B_数据采集# 输出全局变量.list_采集数据列表每个元素是字典# 1. 进入数据中心或商品管理点击元素(数据中心菜单)等待元素出现(数据表格,5秒)# 2. 设置筛选条件今天点击元素(日期筛选)点击元素(今日)点击元素(查询按钮)固定等待(2秒)# 3. 初始化结果列表采集数据[]# 4. 翻页采集参考翻页文章条件循环(True):# 获取当前页所有数据行获取相似元素列表(表格数据行)-数据行列表 遍历列表(数据行列表,当前行):商品名获取元素文本(当前行//商品名元素)订单数获取元素文本(当前行//订单数元素)金额获取元素文本(当前行//金额元素)采集数据.append({商品名称:商品名,订单数:订单数,成交金额:金额})# 判断翻页判断元素是否存在(下一页按钮_可用)-有下一页 如果不满足 有下一页:跳出循环 点击元素(下一页按钮)固定等待(1.5秒)全局变量.list_采集数据采集数据 输出日志(f数据采集完成共{len(采集数据)}条)四、C_数据处理在Python代码指令里清洗数据# 子流程C_数据处理# 输入全局变量.list_采集数据# 输出全局变量.df_报表DataFrame也可存为表格对象importpandasaspdimportre# 读取采集数据data全局变量.list_采集数据 dfpd.DataFrame(data)# 清洗订单数去掉笔个等单位defclean_number(text):ifpd.isna(text):return0# 提取数字numsre.findall(r\d,str(text))returnint(nums[0])ifnumselse0df[订单数]df[订单数].apply(clean_number)# 清洗金额去掉¥元等符号defclean_price(text):ifpd.isna(text):return0.0numsre.findall(r\d\.?\d*,str(text).replace(,,))returnfloat(nums[0])ifnumselse0.0df[成交金额]df[成交金额].apply(clean_price)# 计算总计total_ordersdf[订单数].sum()total_amountdf[成交金额].sum()# 按金额降序排列dfdf.sort_values(成交金额,ascendingFalse)全局变量.df_报表df 全局变量.int_总订单total_orders 全局变量.float_总金额total_amount 输出日志(f数据处理完成总订单{total_orders}总金额{total_amount})五、D_生成报表# 子流程D_生成报表# 输入全局变量.df_报表# 输出报表文件路径importpandasaspdfromdatetimeimportdatetime df全局变量.df_报表 total_orders全局变量.int_总订单 total_amount全局变量.float_总金额 todaydatetime.now().strftime(%Y%m%d)report_pathfD:\\日报\\拼多多日报_{today}.xlsx# 创建Excel写入器withpd.ExcelWriter(report_path,engineopenpyxl)aswriter:# Sheet1明细df.to_excel(writer,sheet_name数据明细,indexFalse)# Sheet2汇总summarypd.DataFrame({指标:[总订单数,总成交金额],数值:[total_orders,f¥{total_amount:,.2f}]})summary.to_excel(writer,sheet_name汇总,indexFalse)全局变量.str_报表路径report_path 输出日志(f报表已生成:{report_path})六、E_发送通知# 子流程E_发送通知# 输入全局变量总订单、总金额、报表路径importrequestsfromdatetimeimportdatetime webhook_urlhttps://qyapi.weixin.qq.com/cgi-bin/webhook/send?key你的keynowdatetime.now().strftime(%Y-%m-%d %H:%M)total_orders全局变量.int_总订单 total_amount全局变量.float_总金额 contentf## 拼多多日报 -{now} **今日数据汇总** [video(video-vu2mSGX5-1781010136581)(type-csdn)(url-https://live.csdn.net/v/embed/524992)(image-https://v-blog.csdnimg.cn/asset/b59aed2f01d4fe8583467562aaf4dcfd/cover/Cover0.jpg)(title-temu店群自动化报活动案例)] - 总订单数font colorwarning{total_orders}单/font - 总成交金额font colorwarning¥{total_amount:,.2f}/font **状态** font colorinfo报表已生成/font 文件路径{全局变量.str_报表路径}message{msgtype:markdown,markdown:{content:content}}requests.post(webhook_url,jsonmessage)输出日志(日报通知已发送)七、主流程把所有子流程串起来# 主流程拼多多日报# 初始化全局变量全局变量.str_账号138xxxx1234全局变量.str_密码your_passwordTry:# 1. 登录输出日志( Step 1/5: 登录 )调用子流程(A_登录流程)# 2. 采集输出日志( Step 2/5: 数据采集 )调用子流程(B_数据采集)如果len(全局变量.list_采集数据)0:输出日志(今日暂无数据跳过后续步骤)调用子流程(E_发送通知,{msg:今日暂无数据})退出流程()# 3. 处理输出日志( Step 3/5: 数据处理 )调用子流程(C_数据处理)# 4. 报表输出日志( Step 4/5: 生成报表 )调用子流程(D_生成报表)# 5. 通知输出日志( Step 5/5: 发送通知 )调用子流程(E_发送通知)输出日志(✅ 日报流程执行完成)Catch 异常信息:输出日志(f❌ 日报流程异常:{异常信息})调用子流程(E_发送通知,{msg:f日报流程异常\n{异常信息}})八、设置定时任务最后一步让系统每天早上8点自动跑。影刀客户端 → 找到这个应用 → 右键 → 计划任务设置执行时间每天 08:00确保电脑那个时间是开机的如果电脑不能24小时开机用Windows任务计划器配合唤醒计算机选项参考前面定时任务文章。到这里一个完整的自动化日报系统就搭好了。五个子流程各司其职改任何一个不影响其他。下次只需要改一下B_数据采集的内容就能适配到淘宝、TEMU、抖音。作者林焱本文为《影刀RPA学习手册》系列文章之一内容源于实操经验的整理与分享。