面对电商页面频繁更新带来的采集难题,我采用九头虫RPA的‘网络API接口拦截+原生JSON提取’方案,无需等待页面渲染,直接抓取底层数据。
前阵子有个做电商的朋友找我,说他每天选品时要花不少时间去手动复制拼多多的商品链接,问我有没有什么效率高点的办法。
我看了下需求挺简单的,就花了几分钟,用九头虫RPA插件给他配置了一个自动批量抓取的工作流。
工作流具体实现过程
传统的网页采集多依赖 DOM 选择器提取页面元素,但面对电商页面频繁更新的 CSS 类名与防爬混淆,这种方式维护成本较高。
我们在九头虫 RPA 中采用了更高效稳健的“网络 API 接口拦截 + 原生 JSON 提取”方案。无需等待页面渲染,直接在浏览器网络层抓取拼多多底层搜索接口的数据。
1. 双触发器与流量汇聚
工作流开端配置了【网络拦截】与【右键菜单】两个触发器节点,并通过【汇聚节点】统一接收指令:
- 当用户进入拼多多网页并搜索商品、或向下滚动触发分页加载时,网络拦截触发器会自动感知并启动工作流。
2. 接口拦截:【等待HTTP】节点配置
使用【等待 HTTP】网络组件(节点变量名为 V_Ws97),精确捕获浏览器发起的异步请求:
-
URL 匹配模式: 设为 mobile.yangkeduo.com/proxy/api/s…*
-
请求方法: 选择 POST
-
运行机制: 只要页面触发搜索请求,该组件就会实时拦截返回的数据包,并将完整的 JSON 响应体暂存至变量 V_Ws97 中,供后续节点读取。
3. 数组解析:【数据采集】节点配置
紧接着接入【数据采集】组件(节点存储表为 V_Tj89),直接对 HTTP 响应数据进行结构化解构:
-
目标对象: 切换为 数组列表 模式,直接绑定接口中的商品数组路径 {V_Ws97.items}}。
-
唯一索引去重: 将唯一索引设置为 goods_id。在连续滚动加载时,系统会自动根据商品 ID 排除重复项,确保收集到的数据集干净不重复。
4. 字段提取与属性映射
进入【提取列数据】配置界面,通过引用迭代变量 {{$item.字段名}},快速导出接口中包含的原生字段:
-
商品链接: 绑定 {{$item.link_url}},直接获取完整的商品跳转 URL。
-
其他核心属性: 同理依次提取 goods_id(商品ID)、标题、封面图、sales_tip(销量提示)、tag_list(标签列表)以及搜索词等。
3. 采集效果与展示
采集到的数据
现成模板直接使用
如果你不想从头配置节点和调试接口规则,该流程已打包发布至模板库,可以直接安装现成工作流:
-
打开插件,进入“模板中心”。
-
搜索“拼多多”或“拼多多搜索页商品链接采集”。
-
点击安装,即可将此工作流直接导入到你的插件中运行。