ARTICLE DETAIL

资讯详情

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

影刀RPA实操指南:拼多多商品数据批量采集与价格清洗全流程

影刀RPA实操指南:拼多多商品数据批量采集与价格清洗全流程 影刀RPA实操指南拼多多商品数据批量采集与价格清洗全流程拼多多商家和做电商数据分析的人都懂那种痛想盯一批竞品的价格变化网页上一个一个点开看几百个商品盯一轮就是一整天价格还带着128.90这种没法直接算数的格式。这篇讲影刀RPA做拼多多商品数据批量采集的完整方案从搜索结果页抓取到价格清洗成纯数字再到每天定时自动跑全流程一次讲完。认识影刀环境与浏览器配置影刀RPA从官网下载安装装完先做两件事在工具页面安装浏览器插件Chrome或Edge登录账号激活社区版。拼多多网页端对自动化相对敏感浏览器建议用独立Profile专门跑流程和日常上网的浏览器分开避免Cookie互相干扰。多账号采集时更要隔离环境一个账号一个浏览器配置。流程主线采集器的五个模块整个流程按子流程拆分主流程只做串联打开搜索页并输入关键词搜索循环滚动加载商品列表抓取单页商品的字段数据翻页直到没有下一页价格清洗并写入Excel模块化不是洁癖是工程需要——后面你会不停复用抓取单页这个子流程换关键词跑。变量与数据类型字典是商品数据的最佳容器每个商品有标题、价格、销量、店铺名四个字段用字典装最合适最后把字典塞进列表就是标准的结构化数据。新建变量商品列表列表类型、当前商品字典类型字典取值时键可能不存在用get方式给默认值比如销量为空按0算价格从网页抓出来永远是字符串128.90和128.90是两种东西清洗环节就是处理这个我踩过的坑一开始用两个列表分别装标题和价格翻页后两个列表长度对不上数据全串位。改成一个父卡片字典往下取字段后天然对齐再没出过错。官方文档里专门讲过这个两个相似元素列表长度不同的错位问题新手一定要绕开。网页自动化打开、搜索、等待的三板斧流程开头三条指令【打开网页】URL填拼多多搜索结果页地址带上关键词参数打开方式选新建标签页【等待网页加载完成】超时20秒【等待元素(web)】等第一个商品卡片出现超时15秒拼多多搜索页也是懒加载用【滚动鼠标滚轮】向下滚3到5次每次滚完等2秒让商品渲染出来。抓取前不滚动只能拿到第一屏的商品这是新手最常犯的错。元素定位四合一拼多多页面的XPath实战商品卡片先捕获一次拖入【获取相似元素列表(web)】指令点捕获元素按钮鼠标移到商品卡片出现橙色边框后点击确认。然后进元素编辑器把自动生成的规则加固成模糊匹配的XPath# 捕获元素搜索结果页所有商品卡片容器 //div[starts-with(class,goods-item)] # 捕获元素商品标题卡片内往下找两级 .//div[contains(class,title)] # 捕获元素商品价格文本含的元素 //*[contains(text(),)] # 捕获元素已拼件数文本含件的元素 //*[contains(text(),拼单)] # 捕获元素店铺名称 .//div[contains(class,store)] # 参照物定位通过已拼文字反查它的兄弟元素销量数字 //*[contains(text(),已拼)]/following-sibling::*[1]CSS选择器在这里是XPath的平替纯class定位如div.goods-item .title更短用定位方式下拉切换即可。但按文本找价格这种活只能XPath干所以拼多多场景我主用XPath。正则在定位环节也有一席之地销量文本已拼2.3万件要抽数字用指令【从文本中提取内容】写[\d.]带分组默认返回第一个捕获组直接得到2.3。流程控制For次数循环加翻页判断单页抓取用【循环相似元素(web)】遍历商品卡片循环体内用获取元素文本内容逐字段取值存进字典。翻页用两层控制外层【For次数循环】控制总轮次设一个足够大的安全上限比如50防死循环每轮先用【IF 元素可见(web)】判断下一页按钮是否存在且没带disabled类可点就【点击元素(web)】翻页不可点就跳出不确定总页数时永远让按钮状态决定退出不要硬编码页数这条是我第一批采集流程跑挂两次后总结的。页面翻页会刷新导致原元素失效的话官方的标准解法是For循环内每轮重新获取相似元素列表按下标取项操作不依赖上一轮的元素对象。数据处理价格清洗才是价值所在采集只是搬运清洗才让数据能用。拼多多价格常见四种形态原始文本问题清洗目标128.90带货币符128.90¥1,299.00带千分位逗号1299.00券后99.5带中文前缀99.5空/乱码页面没渲染完标记为缺失# 输入从页面抓到的价格字符串列表# 输出浮点数价格列表异常值按0处理并单独标记importredefclean_price(raw_prices):clean_list[]forpinraw_prices:pstr(p).strip()# 只保留数字和小数点去掉、逗号、中文numsre.findall(r\d(?:\.\d)?,p.replace(,,))ifnums:clean_list.append(float(nums[0]))else:# 什么数字都抽不出来按0并人工复核clean_list.append(0.0)returnclean_list用【插入代码段(Python)】指令执行输入输出绑流程变量。更细的清洗用Pandas一次搞定批量转数值、去重、按价格排序、算均值影刀的Python环境支持第三方库装好pandas直接用。清洗完用【打开/新建Excel】建表【写入内容至Excel工作表】写表头和数据【保存/另存Excel】落盘。数据量大就用数据表格中转【批量数据抓取】先堆进数据表格最后一次性写入比逐行快得多。鼠标键盘图像处理定位不到的东西拼多多偶尔弹滑块验证或优惠券浮窗DOM定位不到就上图像方案【等待图像】等验证按钮出现超时30秒出现就【点击图像】点掉。鼠标操作选驱动模式更稳虚拟键盘驱动在工具页面有安装说明。OCR用得少但关键纯图片型弹窗用【IF 屏幕上存在文本(OCR)】判断内容后走不同分支。这些手段都是兜底别把主流程建在图像识别上准确率和速度都吃亏。进阶技能HTTP请求直取数据页面抓取慢且易失效进阶方案是用【HTTP请求】指令直接调拼多多页面背后的数据接口拿JSON再解析请求返回的JSON用转JSON对象处理按下标和键取字段一次请求能拿几十条商品数据。这条路的代价是要处理鉴权和分页参数Cookie过期就要重新维护。我的建议是两条腿页面抓取做基线保证能跑接口方式做提速接口失效时自动切回页面抓取。系统联动定时跑、自动通知、飞书落表流程稳定后加三层联动就完全无人值守【定时触发器】设每天早上7点自动运行赶在同事上班前出表【发送邮件】把Excel附件发到自己邮箱或企业微信群机器人发运行摘要飞书协同的团队用新增行记录-飞书多维表直接写多维表格自动生成看板异常处理别忘了把主流程拖进Try块Catch块里用【打印日志】记报错信息加截图Finally块关浏览器关Excel保证中断后环境干净。运行日志在客户端日志页面可查报错排查先看日志再说。工程化与调试规范三个习惯让流程寿命翻倍子流程按01_搜索“02_抓取单页”“03_翻页”“04_清洗”05_落表编号命名主流程一眼看懂调试时在可疑指令右键添加断点单步执行配合变量面板看数据流别整段重跑元素统一放元素库管理页面改版只改一处所有子流程同步生效版本选择上社区版每天限时够调试用要挂定时任务长期跑就上创业版无时长限制。常见问题速查表现象原因解决价格列全是0正则没匹配到格式打印原始文本检查形态数据串位错行双列表下标对应单父卡片内取全部字段翻到第3页卡死翻页后元素失效每轮重新获取相似元素列表跑几小时后中断Cookie过期或验证码Try-Catch图像兜底重试Excel写入报RPC错误文件被人工占用关闭占用或换路径延伸阅读这套拼多多采集器的完整源码包括多关键词版本、价格变动对比版本和接口抓取的分支流程我都开源放在代码仓库 home.linyan.cloud可以直接参考改造。做价格监控这条线仓库里的清洗脚本值得单独拿去复用。#影刀RPA #RPA自动化 #拼多多 #数据采集 #数据清洗作者林焱
返回列表