背景介绍
在电商场景,运营会频繁的在各大电商网站、ERP软件进行搜款、测款、录入数据的诉求。过程中会涉及较多的浏览器操作,本demo主要是演示一个淘宝网站商品爬取和抽取数据场景,我们可以写一个技能,让龙虾可以自动化通过谷歌CDP扩展,访问淘宝并搜索用户意图的商品类目。
预期效果:龙虾可自动执行此类商品爬取动作,将爬取到的商品自动化进行信息抽取与特点总结,并可以技能2技能的方式,在后面串接更多的下游流程,比如拿到商品后去其他平台搜同款,录入到ERP做商家等操作
核心技能步骤-taobao-clothing-crawler-mcp
/skill.md
---
name: taobao-clothing-crawler-mcp
description: |
淘宝服装商品爬取与VLM分析技能。通过 CDP (Chrome DevTools Protocol) 直连远程浏览器,
搜索服装商品,按销量排序获取 TOP 商品信息,使用 VLM 模型进行商品卖点分析。
使用场景:(1) 爬取淘宝热销服装商品数据 (2) 分析商品材质、品牌等基础信息
(3) 使用VLM进行页面状态验证 (4) 提取商品卖点分析报告
---
# 淘宝服装爬取技能
## 执行环境
本技能通过 **CDP (Chrome DevTools Protocol) 直连远程浏览器** 执行操作。
**连接地址:** `http://xx:9222`
**执行方式:** 使用 `sandbox_execute_bash` 运行内置 Python 脚本,通过 WebSocket 直连 CDP 9222,绕过 OpenClaw 内置的 `browser_*` 扩展中继模式。
---
## ⚠️ 重要:Bot 执行约束
**必须使用 `sandbox_execute_bash` 执行本技能脚本,禁止使用 `browser_*` 工具!**
原因:
- OpenClaw 内置的 `browser_*` 工具依赖 Chrome 扩展中继模式,需要手动绑定标签页
- 本技能使用 CDP 直连方式,无需扩展绑定,更稳定可靠
**正确做法:**
```
sandbox_execute_bash: python3 scripts/taobao_crawler_cdp.py --step 1 --keyword "xxx"
```
**错误做法:**
```
browser_navigate / browser_click / browser_screenshot ← 不要用这些!
```
---
## Bot执行指令
**重要:执行本技能时,必须严格遵循以下流程,并在每一步完成后向用户反馈执行状态。**
### 执行前准备
1. 确认用户已提供搜索关键词
2. 确认输出目录(默认 `./output`)
3. 确认爬取数量(默认 TOP 5)
4. **安装依赖** (首次执行时):
```bash
python3 -m pip install -q websocket-client requests
```
**反馈格式:**
```
📋 任务确认
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
- 搜索关键词: {keyword}
- 爬取数量: TOP {n}
- 输出目录: ./output
- 执行方式: CDP 直连 (sandbox_execute_bash)
```
---
## 执行流程与状态反馈
### 步骤1: 访问淘宝首页
**执行命令:**
```bash
cd /home/gem/.openclaw/workspace/skills/taobao-clothing-crawler-mcp && \
python3 scripts/taobao_crawler_cdp.py \
--step 1 \
--keyword "{keyword}" \
--browser-url http://xxx:9222 \
--output ./output
```
**完成后反馈:**
```
✅ 步骤1/5 完成 - 淘宝首页加载成功
📍 当前页面: 淘宝首页
🖼️ 截图已保存: ./output/step1_homepage.png
🤖 VLM验证: 页面状态正常
```
---
### 步骤2: 执行搜索
**执行命令:**
```bash
cd /home/gem/.openclaw/workspace/skills/taobao-clothing-crawler-mcp && \
python3 scripts/taobao_crawler_cdp.py \
--step 2 \
--keyword "{keyword}" \
--browser-url http://xxx:9222 \
--output ./output
```
**完成后反馈:**
```
✅ 步骤2/5 完成 - 搜索执行成功
🔍 搜索关键词: {keyword}
📍 当前页面: 搜索结果页
🖼️ 截图已保存: ./output/step2_search_result.png
🤖 VLM验证: 搜索结果正常显示
```
---
### 步骤3: 销量排序
**执行命令:**
```bash
cd /home/gem/.openclaw/workspace/skills/taobao-clothing-crawler-mcp && \
python3 scripts/taobao_crawler_cdp.py \
--step 3 \
--keyword "{keyword}" \
--browser-url http://xx:9222 \
--output ./output
```
**完成后反馈:**
```
✅ 步骤3/5 完成 - 销量排序成功
📊 排序方式: 按销量降序
🖼️ 截图已保存: ./output/step3_after_sort.png
```
---
### 步骤4: 提取商品信息
**执行命令:**
```bash
cd /home/gem/.openclaw/workspace/skills/taobao-clothing-crawler-mcp && \
python3 scripts/taobao_crawler_cdp.py \
--step 4 \
--keyword "{keyword}" \
--top-n {n} \
--browser-url http://xx:9222 \
--output ./output
```
**完成后反馈:**
```
✅ 步骤4/5 完成 - 商品信息提取成功
📦 提取数量: {n} 个商品
🖼️ 截图已保存: ./output/step4_products.png
商品列表预览:
| 排名 | 商品 | 价格 |
|------|------|------|
| 1 | 商品标题... | ¥299 |
| 2 | 商品标题... | ¥199 |
...
```
---
### 步骤5: VLM卖点分析
**执行命令:**
```bash
cd /home/gem/.openclaw/workspace/skills/taobao-clothing-crawler-mcp && \
python3 scripts/taobao_crawler_cdp.py \
--step 5 \
--keyword "{keyword}" \
--browser-url http://xx:9222 \
--output ./output
```
**完成后反馈:**
```
✅ 步骤5/5 完成 - VLM分析完成
📄 分析报告: ./output/analysis_report.md
📊 结果数据: ./output/crawl_result.json
```
---
## 一键执行(推荐)
如果不需要逐步反馈,可以直接执行完整流程:
```bash
cd /home/gem/.openclaw/workspace/skills/taobao-clothing-crawler-mcp && \
python3 scripts/taobao_crawler_cdp.py \
--keyword "{keyword}" \
--top-n 5 \
--browser-url http://xx:9222 \
--output ./output
```
**完成后反馈:**
```
🎉 爬取任务完成!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔍 搜索关键词: {keyword}
📦 商品数量: 5 个
⏱️ 耗时: 1分30秒
📁 输出目录: ./output
📄 结果文件: ./output/crawl_result.json
📄 分析报告: ./output/analysis_report.md
```
---
## Human-Loop 机制
当遇到以下情况时,脚本会暂停并请求用户介入:
| 触发条件 | 处理方式 |
|----------|----------|
| 检测到登录弹窗 | 提示用户在浏览器中完成登录,回复"继续" |
| 检测到验证码 | 提示用户处理验证码,回复"继续" |
| 检测到访问被拒绝 | 提示用户检查页面状态,回复"继续" |
| 页面加载超时 | 自动重试,3次后请求用户介入 |
**请求介入反馈:**
```
🚨 需要人工介入
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📍 当前步骤: 步骤{n}/5 - {step_name}
❓ 问题描述: {problem_description}
📸 问题截图: {screenshot_path}
请在浏览器中完成操作后回复"继续"
```
---
## VLM 配置
| 参数 | 值 |
|------|-----|
| Base URL | `https://ark.cn-beijing.volces.com/api/v3` |
| API Key | `58556eed-a35b-4e01-a30c-XXXXXXXXXXXX` |
| Model | `ep-20260215001006-86n7g` |
---
## 输出格式
### crawl_result.json
```json
{
"keyword": "黑色长款羽绒服",
"crawl_time": "2026-03-15T10:30:00",
"products": [
{
"rank": 1,
"title": "商品标题",
"price": "299.00",
"shop": "店铺名称",
"material": "聚酯纤维",
"brand": "品牌名",
"selling_points": ["卖点1", "卖点2"]
}
],
"screenshots": ["step1.png", "step2.png", ...],
"step_results": [
{
"step": 1,
"status": "completed",
"message": "淘宝首页加载成功"
}
]
}
```
### analysis_report.md
```markdown
# 淘宝服装分析报告
## 搜索关键词
黑色长款羽绒服
## TOP 5 商品分析
### 1. [商品标题]
- **价格** : ¥299
- **材质** : 聚酯纤维
- **品牌** : XXX
- **卖点分析** :
- 保暖性强
- 轻薄便携
```
---
## 脚本说明
### scripts/taobao_crawler_cdp.py
主执行脚本,支持分步执行:
```bash
# 完整执行
python3 scripts/taobao_crawler_cdp.py --keyword "黑色长款羽绒服" --top-n 5
# 分步执行
python3 scripts/taobao_crawler_cdp.py --step 1 --keyword "黑色长款羽绒服"
python3 scripts/taobao_crawler_cdp.py --step 2 --keyword "黑色长款羽绒服"
...
```
**参数说明:**
| 参数 | 说明 | 默认值 |
|------|------|--------|
| `--keyword` | 搜索关键词 | 必填 |
| `--step` | 执行步骤 (1-5),不指定则完整执行 | - |
| `--top-n` | 爬取数量 | 5 |
| `--browser-url` | CDP 连接地址 | `http://xx:9222` |
| `--output` | 输出目录 | `./output` |
### scripts/vlm_analyzer.py
VLM 分析脚本,独立分析截图:
```bash
python3 scripts/vlm_analyzer.py --screenshot "./output/step4.png" --keyword "黑色长款羽绒服"
```
### scripts/run_analysis.py
批量分析脚本:
```bash
python3 scripts/run_analysis.py --input "./output/crawl_result.json"
```
---
## 依赖说明
```bash
pip install websocket-client requests
```
**Python 版本** : 3.8+
---
## 参考资料
详细工作流步骤说明见 [references/workflow_steps.md](references/workflow_steps.md)
过程展示
✅ 步骤1/5 完成 - 淘宝首页加载成功
✅ 步骤2/5 完成 - 搜索执行成功,用户可以输入自己想搜索的商品名称
✅ 步骤3/5 完成 - 销量排序成功
✅ 步骤4/5 完成 - 商品详情参数提取成功
📦 处理数量: 3 个商品
✅ 步骤5/5 完成 - VLM分析完成
步骤1:进入淘宝-成功加载淘宝首页
步骤2:搜索商品
步骤3:销量排序
步骤4:具体商品点击
步骤5:爬取总结
搜索关键词
羊毛衫女湖蓝色
爬取时间
2026-03-19T09:43:22.457367
TOP 3 商品详情分析
1. 天猫【杨幂同款】太平鸟慕斯羊绒...
商品链接: https://detail.tmall.com/item.htm?ali_refid=a3_mm_12852562_1778064_115782250121%3A1102372908%3AH%3AwiepEuybGtXoNl%2B2tUFIDQ%3D%3D%3A3eca0081fd8ea4c036efaa1cc8ca6c24&ali_trackid=318_3eca0081fd8ea4c036efaa1cc8ca6c24&id=995468545043&mi_id=0000kLNgVdLyBG7YZnLXNvQtYfjcKfrC5OGKImeazfcna7U&mm_sceneid=0_0_11838317_0&priceTId=2150418e17738844699824974e1a3d&skuId=5973424924166&spm=a21n57.1.hoverItem.1&utparam=%7B%22aplus_abtest%22%3A%22b3ef2b6f3a63c26c5aac5a20db44e9b1%22%7D&xxc=ad_ztc
材质/面料: 绵羊毛
品牌: PEACEBIRD/太平鸟
风格: 通勤风
上市季节: 2025年春季
颜色: 蛋粉蓝 蜜桃蓝(第一批)
尺码: S M L XL XS
厚薄: 常规
图案: 纯色
袖长: 常规
领型: 开衫
衣门襟: 单排扣
货号: A1EDG1128
穿着方式: 外穿/内搭
袖型设计: 常规设计
衣长: 短款
版型分类: 常规款
款式细节: 纽扣
适用年龄: 25-29周岁
是否带帽: 是
材质成分: 纯羊毛100%
组合形式: 单件
2. 高级感半高领羊毛衫女短款秋冬新...
商品链接: https://item.taobao.com/item.htm?abbucket=15&id=692742908046&mi_id=0000AZf1K-vuaSqiBLyAynNYfDUNQmuU4j8vB4cHFoqqufY&ns=1&priceTId=2147847017738845434885069e1b77&skuId=5091675610105&spm=a21n57.1.hoverItem.2&utparam=%7B%22aplus_abtest%22%3A%22dd0a4225f18f84da869e5e6aac11478e%22%7D&xxc=taobaoSearch
材质/面料: 羊毛
品牌: 魅琳阁戈
风格: 通勤风
上市季节: 2022年秋季
颜色: 紫罗兰,三彩灰,东色,奶白色,蓝,部,暖本青,焦糖子红,新粉,朱古力,石花藏,开米...
尺码: XXXL,S,M,L,XL
厚薄: 常规款
图案: 纯色
袖长: 其他
领型: 半高领
产地: 中国
货号: 274-2201
毛线粗细: 粗毛线
衣长: 40-49周岁,35-39周...
适用年龄: 35-39周岁,40-49周岁
穿着方式: 套头
版型分类: 直筒型
衣长款式: 常规
款式细节: 其他
消费群体: 388元
是否商场同款: 非电商同款(线上销售)
材质成分: 羊毛100%
袖长类型: 长袖
适用性别: 女
工艺: 针织
组合形式: 单件
功能: 保暖发热
衣长类型: 常规款
适用人群: 其他中年
价格: 138元
3. 清仓打折断码纯羊毛衫女秋冬宽松...
商品链接: https://item.taobao.com/item.htm?abbucket=15&id=680452170753&mi_id=00009nWoLSDrnpq3BYP0xNZY6aMJoC8sCP4tFiLl0Csty6U&ns=1&priceTId=2147847017738845730516900e1b77&skuId=5047324838717&spm=a21n57.1.hoverItem.3&utparam=%7B%22aplus_abtest%22%3A%225ed45463a92b3867f0686b1672ae1585%22%7D&xxc=taobaoSearch
材质/面料: 其他
风格: 通勤风
上市季节: 2022年秋季
颜色: 月光蓝,Dirty粉
尺码: S,M,L,XL
厚薄: 常规
图案: 纯色
袖长: 常规
领型: V领
衣门襟: 套头
服装版型: 修身型
组合形式: 单件
适用年龄: 18-24周岁
领型设计: 常规设计
适用体型: 通用体型
穿着方式: 套头
衣长: 常规款
通勤: 韩版
裙长: 长裙
材质成分: 其他100%
核心特点
1.可以基于谷歌的chrome devtools protocol,使用谷歌开放的*Chrome MCP Server* 来操作浏览器,在电商网站场景能够保持长会话,解决无头方案带来的需处理重复登录的问题。
2.可以支持视觉方案+基于CDP的动态解析方案,在操作上更快且更准。
3.我们基于此方案,开发出了连接本地浏览器的janus skills插件,可以打通本地浏览器,同时可以支持技能录制与学习的相关操作。
踩坑总结
1.安全性提升需求:在skill里面手写了一个OpenAPI请求,如果不走****MCP ,怎么实现动态的鉴权传入,避免****硬编码 ? ----To 安全团队
2.使用TRAE生成的技能,在TRAE本地执行通过后,移植到龙虾可能会有执行不通过的问题,由于龙虾在沙箱环境中运行,可以让TRAE远程进入到龙虾的环境里面,通过shell来查看session等信息来辅助排错。
