影刀RPA新手教程:外卖运营自动化完全指南——菜品同步、好评管理与外卖数据分析
影刀RPA新手教程:外卖运营自动化完全指南——菜品同步、好评管理与外卖数据分析
我做外卖运营第一年,同时管美团和饿了么两个平台。
每天手动把新菜品同步到两个平台,手动导出订单数据,手动看有没有差评——这套操作下来,每天两个小时没了。
后来我用影刀RPA做了一个外卖运营自动化流程,每天早上自动跑。现在每天省两个小时,一个月就是60个小时。
这篇文章围绕"外卖运营全流程自动化"这个真实案例展开,从菜品同步到好评管理到数据分析,全流程覆盖。
一、安装与准备:外卖运营自动化的起点
影刀RPA社区版免费,外卖运营用足够了。如果你管多个店铺,建议上创业版,可以多开流程同时跑。
安装完之后,先把美团外卖商家版和饿了么商家版都在浏览器里登录好。Cookie有了,后面的自动化流程就不需要反复登录了。
外卖平台对自动化操作有检测,操作频率要控制好。我在每个操作之间加5-8秒的随机等待,模拟真人操作。
我建议每天早上6点跑数据导出流程(这个时候平台数据更新完,而且流量低),上午10点跑好评管理流程(这个时候前一天的评价都出来了)。
二、元素定位四合一:外卖平台页面的定位技巧
外卖商家后台的页面,比普通电商平台要复杂一些。元素定位有几个特殊点。
元素捕获能用就用,但经常失效。外卖平台的class也是动态生成的。
XPath在外卖后台的常用写法:
//div[@class='dish-item'] ← 菜品项 //input[@placeholder='菜品名称'] ← 菜品名称输入框 //button[text()='上架'] ← 上架按钮 //span[contains(@class,'status')] ← 菜品状态 //div[contains(@class,'order')] ← 订单项 //td[contains(text(),'差评')] ← 差评标记CSS选择器在外卖后台也有效:
.div.dish-item ← 菜品项 .input[placeholder*='菜品'] ← 菜品名称输入框button:contains('上架')← 上架按钮 .span[class*='status'] ← 菜品状态正则表达式用来处理评价内容里的关键词(比如"差评"“难吃”“迟到”):
差评|难吃|迟到|撒了|冷了 ← 负面关键词匹配 好评|好吃|准时|包装好 ← 正面关键词匹配 我当时踩过的坑:美团外卖的菜品状态是用icon字体显示的(不是文字),XPath按文字定位失效。解决方法是用class定位,或者用图像识别判断状态。
三、变量与数据类型:管理外卖运营数据
外卖运营数据种类多,要用对数据类型。
字符串用来存菜品名称、店铺名、评价内容、订单号。
dish_name="招牌牛肉面"shop_name="老李牛肉面馆"review_content="味道不错,分量很足"order_id="ME20240315001"数字用来存货价、销量、评价分数、订单金额。
拼多多店群自动化报活动上架!
price=28.00sales=123rating=4.5order_amount=68.50列表用来存一批菜品或者一批订单。采集到一页20个订单,先存在列表里,统一写入Excel。
字典用来存单条订单或者单个菜品的完整信息:
order={"order_id":"ME20240315001","dish_name":"招牌牛肉面","amount":28.00,"time":"2024-03-15 12:30:00","review_rating":5}JSON处理在调用外卖平台API的时候用到。美团和饿了么都有开放平台,返回JSON格式。
我当时踩过的坑:订单金额有时候是字符串"28.00",直接做加法会报错。要先转成浮点数float(“28.00”)再做计算。
四、流程控制:让外卖自动化流程会"思考"
外卖运营自动化有很多判断逻辑,不是简单的重复操作。
If条件判断做差评检测:这条评价是差评吗(评分≤3)?是差评就发通知,不是就跳过。
rating=2ifrating<=3:print("差评预警,发通知处理")else:print("好评或中评,记录即可")循环用来批量处理订单和菜品。ForEach列表循环最常用:有一批新订单,逐个处理。
orders=get_new_orders()fororderinorders:process_order(order)wait_random(3,5)While条件循环用来翻页采集订单:不知道有多少页订单,用While循环,有下一页就继续,没有就停。
相似元素循环用来处理菜品列表:商家后台的菜品列表,每一行是一个菜品,用相似元素循环逐个处理。
Try-Catch在所有关键步骤包一层。网络断了、页面卡了、弹窗出来了——这些都要优雅处理。
我第一次做菜品同步,没加Try-Catch。跑到第20个菜品的时候,页面弹了一个"是否覆盖已有菜品"的确认框,流程停了。后面30个菜品都没同步进去。
五、网页自动化:外卖商家后台的特殊问题
外卖商家后台的网页自动化,有几个特殊问题。
等待策略:外卖平台的服务器响应慢(特别是中午高峰期),等待时间要设长一点。我一般设10秒,高峰期设15秒。
弹窗处理:外卖商家后台经常弹"今日数据播报"“新订单提醒”"活动邀约"等弹窗,要用5步标准流程处理。
翻页处理:订单列表有好几页,用While循环判断"下一页"按钮是否可用。
懒加载处理:菜品列表和订单列表都是滚动加载的,要模拟滚动才能加载全部。
iframe处理:外卖商家后台的有些页面在iframe里,要先切换进去才能操作。
窗口切换:点击某个订单详情会打开新标签页,要用"切换到指定窗口"。
我踩过最恶心的坑:美团外卖的"上架"按钮,点一次之后会变灰,但页面不会刷新。我没加状态检测,导致重复点击,弹出了好多确认框。
六、数据处理:让外卖运营数据产生价值
外卖运营数据量大,手动处理不现实。数据处理能帮你发现问题和机会。
Excel读写:我每天把订单数据、评价数据、菜品销量数据写入Excel,用追加模式。
importpandasaspd df=pd.read_excel("外卖订单.xlsx")# 按菜品汇总销量和销售额dish_summary=df.groupby("菜品名称")["销量"].sum().reset_index()dish_summary.to_excel("菜品销量汇总.xlsx",index=False)文本提取与清洗:评价内容里经常有特殊字符(emoji、换行符),写入Excel之前要清洗。
importre review="味道不错👍会再来"clean_review=re.sub(r'[^\u4e00-\u9fa5a-zA-Z0-9\s]','',review)JSON解析:调用外卖平台开放API得到的数据是JSON格式,要解析后提取字段。
数据库连接:我的外卖运营数据存在MySQL里,方便按日期、按菜品、按评分查询分析。
五个常见报错:
订单金额格式不统一——"28.00""28""¥28"要统一处理
评价内容有特殊字符——写入Excel之前要清洗
日期格式错误——统一用YYYY-MM-DD HH:MM:SS格式
网络连接超时——外卖平台高峰期经常超时,加热重试
编码错误——评价内容有emoji,要处理
七、鼠标键盘图像自动化:处理特殊场景
外卖商家后台有些操作,网页自动化完成不了,要用鼠标键盘模拟。
模拟模式和驱动模式:外卖平台对自动化有检测,建议用驱动模式,更像真人操作。
图像识别用在什么场景?有些状态是用icon字体显示的(不是文字,是图标),要用图像识别判断状态。
# 图像识别判断菜品状态# 截取"已上架"状态的图片存为 online.png# 截取"已下架"状态的图片存为 offline.pngifimage_appears("online.png"):print("菜品已上架")elifimage_appears("offline.png"):print("菜品已下架,需要上架")锚点9位置+偏移:点击的位置不对,可以用偏移调整。
八、进阶技能:让外卖自动化更强大
HTTP请求对接外卖平台开放API。美团外卖开放平台、饿了么开放平台都有API,直接调API比网页抓取稳定10倍。
importrequests# 美团外卖开放平台API示例(伪代码)url="https://openapi.waimai.meituan.com/order/list"params={"start_time":"2024-03-15","end_time":"2024-03-16"}headers={"Authorization":"Bearer xxxxx"}resp=requests.get(url,params=params,headers=headers)orders=resp.json()["data"]["orders"]Python协同做销量预测。采集到一段时间的历史销量数据之后,用Python做简单的趋势分析,预测明天的销量。
importpandasaspd df=pd.read_excel("历史销量.xlsx")# 计算7日移动平均df["7日平均"]=df["销量"].rolling(window=7).mean()OCR文字识别用来处理评价截图。有些顾客的差评是发图片的,要用OCR识别图片里的文字。
ADB手机自动化:外卖商家版有手机App,有些功能网页版没有,可以用ADB控制手机操作。
九、平台实战:美团外卖和饿了么的差异
TEMU店群矩阵自动化运营核价报活动
美团外卖商家版:功能全面,开放平台API也比较完善。但页面响应慢,特别是高峰期,等待时间要设长一点。
饿了么商家版:界面相对简洁,但有些功能藏得深,元素定位要多花点时间。开放平台API不如美团完善,有些数据要网页抓取。
菜品同步的逻辑:在美团上新了一个菜品,要同步到饿了么。两个平台的菜品字段不完全一样,要做字段映射。
评价管理的差异:美团的评价在商家后台能看完整内容;饿了么的评价有时候只显示评分,完整内容要在手机App上看。
十、系统联动:让外卖运营数据自动通知到你
飞书消息通知:每天采集完数据之后,自动发飞书消息:“今日新订单XX笔,的差评X条,请及时处理”。
飞书多维表格:外卖运营数据存在飞书多维表格里,随时随地用手机查看,还能做数据透视和图表。
邮件发送:把每周的运营分析报告发给老板或者客户,用影刀的发送邮件指令,附件是Excel报告。
定时任务配置:每天早上6点自动跑订单数据导出;每天上午10点跑评价管理流程;每天下午3点跑菜品销量分析。
十一、工程化与规范:外卖运营自动化的工程管理
子流程封装:我把外卖运营自动化流程拆成了:平台登录子流程、订单导出子流程、评价管理子流程、菜品同步子流程、数据分析子流程、通知子流程。
调试技巧:外卖运营流程比较复杂,我会在每个关键步骤后面加"打印日志",输出当前进度。
命名规范:dish_name比dn好,order_count比oc好,review_rating比rr好。
版本选择:社区版够用。如果要同时管多个店铺,建议上创业版,可以多开流程。
流程模板化:两个外卖平台的很多操作是类似的(导出订单、查看评价、同步菜品),做成模板,新店铺来了改改参数就能用。
十二、速查表与常见报错:外卖运营自动化专属问题
元素定位失败:外卖平台的class经常带随机字符串,要用contains()模糊匹配。
XPath语法报错:有些元素的属性值里有空格或者特殊字符,要用引号包起来。
Excel报错:订单金额"28.00"写入Excel会变成数字28(小数点后面的0被去掉了)。如果不希望这样,要在写入之前转成字符串。
循环报错:相似元素循环在页面刷新之后找不到元素。解决方法是在循环体里加等待时间。
弹窗拦截:外卖商家后台经常弹"新订单提醒"弹窗,要在每个关键步骤后面加弹窗检测。
高峰期超时:中午11点到1点是外卖平台的高峰期,这个时候跑流程经常超时。建议避开高峰期,或者加重试逻辑。
我整理了一份外卖运营自动化的XPath模板和常见报错解决方案,放在 home.linyan.cloud,外卖运营者可以去下载参考。
#影刀RPA #RPA教程 #外卖运营 #菜品同步 #好评管理
作者:林焱