影刀RPA新手教程:电商创业者完全指南——从零到一搭建第一个自动化选品采价流程
影刀RPA新手教程电商创业者完全指南——从零到一搭建第一个自动化选品采价流程我做电商第一年每天手动去看竞品的价格和销量。10个竞品每个要打开页面看价格、看销量、看评价数记录下来做表格。每天这一套操作下来一个半小时没了。后来我用影刀RPA做了一个自动选品采价流程每天早上自动跑数据自动写入飞书多维表格。现在每天省一个半小时一个月就是45个小时。这篇文章围绕竞品价格销量自动监控这个真实案例展开从零开始带你搭一个完整的电商自动化流程。一、安装与准备电商自动化的环境搭建影刀RPA社区版免费电商用足够了。如果你有多个店铺要管理建议上创业版可以同时跑多个流程。安装完之后先把你要监控的电商平台淘宝、拼多多、京东、抖音小店都在浏览器里登录好。Cookie有了后面的采集流程就不需要反复登录了。电商自动化的关键是频率控制。平台的反爬措施很严操作太快会被封IP或者封账号。我一般在每个操作之间加2-5秒的随机等待。我建议专门准备一台电脑跑RPA流程不要在自己的工作电脑上跑。电商采集流程经常要跑很久几百个商品占用资源比较多。二、元素定位四合一电商页面的定位技巧电商页面的元素定位有几个特点页面结构复杂、动态内容多、反爬措施严。元素捕获能用就用但经常失效。电商平台的class大多是动态生成的每次刷新都变。XPath是电商采集的主力工具//div[classprice] ← 价格经常失效要换写法 //span[contains(class,price)] ← 价格模糊匹配class //div[iddetail_price] ← 价格按id定位最稳 //span[text()立即购买]/preceding-sibling::span[1] ← 取立即购买前面的价格 //div[contains(class,sold)] ← 销量 //div[contains(class,comment)] ← 评价数CSS选择器在电商页面上表现也不错.div.price ← 价格 .span[class*price] ← 价格模糊匹配 #detail_price ← 价格id选择器 .div[class*sold] ← 销量正则表达式用来处理混乱的价格格式“5,999” “到手价5999” “促销价: 5999.00”?(\d,?\d*\.?\d*) ← 提取价格数字 到手价[:]?\s*(\d\.?\d*) ← 提取到手价后面的数字 促销价[:]?\s*(\d\.?\d*) ← 提取促销价后面的数字 我当时踩过的坑拼多多的价格是分单位599900分5999元采集下来要除以100。我第一次没注意分析结果全是实际价格的100倍。三、变量与数据类型电商数据的正确存储电商数据种类多要用对数据类型。数字类型存价格、销量、评价数。注意价格要存成浮点数5999.00销量要存成整数。price5999.00sales1234comments567字符串用来存商品标题、链接、店铺名、商品ID。店群矩阵自动化突破运营极限titleiPhone15 Pro 256G 蓝色shop_nameApple官方旗舰店item_id1234567890列表用来存一批商品。采集一个关键词下的20个商品先存在列表里统一写入Excel。字典用来存单个商品的完整信息结构化清晰product{title:iPhone15 Pro,price:5999.00,sales:1234,comments:567,shop:Apple官方旗舰店,url:https://item.taobao.com/xxx,collect_time:2024-03-15 09:00:00}JSON处理在调用电商API的时候用到。淘宝开放平台、京东开放平台都有API返回JSON格式。我当时踩过的坑销量1.2万存到Excel里变成了日期。解决方法是在写入Excel之前把所有数字字段转成字符串。四、流程控制让采价流程会思考电商采集不是简单的打开页面→抓取→保存中间有很多判断逻辑。If条件判断做价格预警价格下降了超过5%发通知。销量突然暴涨发通知。current_price5699.00last_price5999.00drop_rate(last_price-current_price)/last_priceifdrop_rate0.05:print(价格下降超过5%发通知)循环用来批量采集商品。ForEach列表循环最常用有一批商品链接逐个打开采集。product_linksget_product_links(iPhone15 Pro)forlinkinproduct_links:open_page(link)priceget_price()salesget_sales()save_to_excel(title,price,sales)wait_random(2,5)# 随机等待2-5秒While条件循环用来翻页采集不知道有多少页用While循环有下一页就继续没有就停。相似元素循环用来处理商品列表搜索结果页面有48个商品用相似元素循环逐个采集。Try-Catch在所有采集步骤外面都要包一层。网络卡了、页面结构变了、弹窗出来了——这些都要优雅处理。我第一次做价格监控没加Try-Catch。跑到第50个商品的时候页面弹了一个是否继续的确认框流程停了。后面100个商品都没采到。五、网页自动化电商平台的特殊问题电商平台的网页自动化是所有场景里最难做的。反爬严、页面复杂、动态内容多。等待策略电商平台响应慢而且有动态加载必须用元素出现再继续等待时间设5-10秒。弹窗处理电商平台经常弹登录“领券”下载App的弹窗要用5步标准流程处理。翻页处理搜索结果有多页用While循环判断下一页是否可用。懒加载处理电商搜索结果页是滚动加载的要模拟滚动才能加载全部商品。scroll_down(500)# 向下滚动500像素wait(2)# 等待加载countcount_elements(.item)# 统计当前商品数量iframe处理有些电商平台特别是天猫的某些内容在iframe里要切换进去才能操作。窗口切换点击商品会打开新标签页要用切换到指定窗口。我踩过最恶心的坑淘宝的价格有时候不在页面上要鼠标悬停才显示。解决方法是用鼠标悬停指令悬停之后再抓价格。六、数据处理让采价数据产生价值采集到原始数据之后要做分析和处理才能真正用起来。Excel读写我每天把采集到的竞品数据写入Excel字段包括日期、商品标题、价格、销量、评价数、店铺名。importpandasaspd dfpd.read_excel(竞品监控.xlsx)# 按价格排序df_sorteddf.sort_values(价格)# 计算平均价格avg_pricedf[价格].mean()# 找出销量最高的商品top_salesdf.sort_values(销量,ascendingFalse).head(5)文本提取与清洗商品标题里经常有特殊字符emoji、换行符写入Excel之前要清洗。importre titleiPhone15 Pro现货速发clean_titlere.sub(r[^\u4e00-\u9fa5a-zA-Z0-9\s],,title)JSON解析调用电商API得到的JSON数据要解析后提取字段。数据库连接我的竞品数据库存在MySQL里方便按日期、按商品、按价格范围查询。五个常见报错价格格式不统一——5,99959995999要统一处理销量1.2万要转成数字——用正则提取数字部分再乘以10000Excel写入重复——同一商品同一天可能采到多次要去重网络连接超时——电商平台对频率有限制加热重试编码错误——商品标题有特殊字符要用UTF-8编码七、鼠标键盘图像自动化处理特殊场景电商页面有些操作网页自动化完成不了要用鼠标键盘模拟。模拟模式和驱动模式电商反爬严建议用驱动模式更像真人操作。图像识别用在什么场景有些电商平台的价格是用图片显示的很少见但有要用OCR识别图片里的价格。# 图像识别点击加购按钮# 有些按钮是图片抓取不到wait_image_appear(add_cart.png)click_image(add_cart.png)锚点9位置偏移点击的位置不对可以用偏移调整。八、进阶技能让电商自动化更强大HTTP请求对接电商开放平台API。淘宝开放平台、京东开放平台、拼多多开放平台都有API直接调API比网页抓取稳定10倍。importrequests# 淘宝开放平台API示例伪代码urlhttps://eco.taobao.com/router/restparams{method:taobao.item.get,item_id:1234567890,app_key:your_app_key}resprequests.get(url,paramsparams)item_dataresp.json()[item]Python协同做价格分析。采集到一批价格数据之后用Python做统计分析平均价、最高价、最低价、价格分布。importpandasaspd dfpd.read_excel(竞品价格.xlsx)statsdf.groupby(商品标题)[价格].agg([mean,min,max])OCR文字识别用来处理商品详情页的图片。有些商品参数在图片里要用OCR识别出来。ADB手机自动化抖音小店、快手小店在手机端的功能比网页端多可以用ADB控制手机操作。temu店群自动化报活动案例九、平台实战主流电商平台的差异淘宝/天猫反爬最严操作频率要严格控制每个商品间隔3-5秒。登录态保持用CookieCookie有效期比较长。拼多多价格用分单位采集后要除以100。销量数据在页面上不一定显示有些要用API获取。京东价格比较好抓但要注意价格和促销价的区别。有些商品有多个价格原价、现价、Plus价。抖音小店抖音电商发展很快但开放平台API还不够完善很多数据要网页抓取。十、系统联动让电商数据自动通知到你飞书消息通知每天采集完竞品数据之后自动发飞书消息“今日采集竞品XX个X个商品降价”。飞书多维表格竞品数据存在飞书多维表格里随时随地用手机查看还能做数据透视和图表。邮件发送把每周的竞品分析报告发给团队用影刀的发送邮件指令附件是Excel报告。定时任务配置每天早上9点自动跑采集流程电商平台早上数据更新每天下午6点发竞品价格变动通知。十一、工程化与规范电商自动化的工程管理子流程封装我把电商采集流程拆成了平台登录子流程、关键词搜索子流程、商品采集子流程、数据清洗子流程、数据存储子流程、通知子流程。调试技巧电商采集流程复杂我会在每个商品采集完成之后加打印日志输出正在采集商品XXX进度XX/100。命名规范product_title比pt好current_price比cp好shop_name比sn好。版本选择社区版够用。如果要同时监控多个平台、多个关键词建议上创业版可以同时跑多个流程。流程模板化不同电商平台的采集流程底层逻辑是一样的搜索→翻页→采集→保存做成模板新平台来了改改元素定位就能用。十二、速查表与常见报错电商自动化专属问题元素定位失败电商平台class动态生成要用contains()模糊匹配或者用id定位id一般是固定的。XPath语法报错价格有时候在text()里有时候在value里有时候在data-price里要先用检查元素确认。Excel报错价格5,999写入Excel会变成数字5999逗号被忽略这个是正常的。但要小心5999写入Excel会报错要先去掉符号。循环报错相似元素循环在页面刷新之后找不到元素要在循环体里加等待时间。反爬封IP这是电商自动化最大的问题。解决方案降低频率每个操作间隔3-5秒、用代理IP池、用API代替网页抓取。登录态失效Cookie过期后流程会失败。解决方案是加一个登录状态检测失效了自动重新登录。我整理了一份电商自动化常用XPath和防封策略放在 home.linyan.cloud电商创业者可以去下载参考。#影刀RPA #RPA教程 #电商自动化 #选品采价 #竞品监控作者林焱