xianyu-data-grabber
SKILL.md
闲鱼数据抓取技能 (xianyu-data-grabber)
功能描述
使用 Playwright + OCR 技术突破闲鱼反爬虫,抓取商品数据并自动上传到 Gitee 仓库。
核心能力:
- 批量关键词搜索(支持 15+ 关键词)
- 自动截图保存(PNG 格式)
- OCR 文字识别(中文 + 英文)
- 商品信息提取(标题、价格、想要人数)
- 自动生成分析报告(Markdown + JSON)
- 自动上传到 Gitee 仓库
什么时候使用
当用户提到以下场景时,激活此技能:
- 「帮我抓取闲鱼上的竞品数据」
- 「调研闲鱼上某某类目的商品」
- 「分析闲鱼头部卖家的定价策略」
- 「闲鱼市场调研」
- 「抓取闲鱼商品价格和销量」
- 「xianyu research」/「闲鱼数据抓取」
- 「看看闲鱼上这个东西卖得怎么样」
- 「闲鱼竞品分析」
配置文件
1. 基础配置
创建 ~/.openclaw/workspace/.xianyu-grabber-config.json:
{
"gitee": {
"token": "your_gitee_token",
"owner": "your_username",
"repo": "xianyu-data"
},
"xianyu": {
"cookie": "your_xianyu_cookie"
},
"grabber": {
"keywords": ["Magisk", "KernelSU", "手机维修"],
"screenshotDir": "legion/screenshots",
"dataDir": "legion/data",
"uploadToGitee": true,
"ocrLanguage": "chi_sim+eng"
}
}
2. Gitee 个人访问令牌
获取方式:
- 登录 https://gitee.com
- 设置 → 个人访问令牌
- 创建新令牌(勾选
projects权限) - 复制令牌到配置文件
3. 闲鱼 Cookie(可选)
获取方式:
- 浏览器登录闲鱼
- F12 开发者工具 → Network
- 刷新页面 → 复制 Cookie 字段
使用方法
基础用法
# 抓取单个关键词
xianyu-data-grabber search "Magisk"
# 抓取多个关键词
xianyu-data-grabber search "Magisk" "KernelSU" "root"
# 使用配置文件中的关键词列表
xianyu-data-grabber search --config
高级用法
# 指定输出目录
xianyu-data-grabber search "Magisk" --output ./my-research
# 不上传 Gitee
xianyu-data-grabber search "Magisk" --no-upload
# 仅 OCR 不抓取(已有截图)
xianyu-data-grabber ocr --input ./screenshots
# 生成汇总报告
xianyu-data-grabber report --input ./data
# 上传到 Gitee
xianyu-data-grabber upload --all
通过消息技能调用
帮我抓取闲鱼上"Magisk"相关的商品数据
调研闲鱼手机维修类目的竞品
分析闲鱼 root 服务的定价策略
输出文件
截图文件
legion/screenshots/xianyu-{keyword}.png- 全页面截图(高度可能超过 10000px)
数据文件
| 文件 | 格式 | 内容 |
|---|---|---|
xianyu-{keyword}.json |
JSON | 单个关键词原始数据 |
xianyu-full-data.json |
JSON | 所有关键词汇总 |
xianyu-summary.md |
Markdown | 汇总报告 |
xianyu-analysis.md |
Markdown | 深度分析报告 |
Gitee 仓库结构
xianyu-data/
├── README.md # 自动生成的说明
├── data/
│ ├── xianyu-full-data.json
│ └── xianyu-{keyword}.json
├── screenshots/
│ └── xianyu-{keyword}.png
├── reports/
│ ├── xianyu-summary.md
│ └── xianyu-analysis.md
└── upload-{timestamp}.md # 上传记录
核心脚本
grabber.js - 主抓取脚本
// 1. 启动 Playwright 浏览器(Headless + 伪装)
// 2. 加载 Cookie(如有)
// 3. 遍历关键词搜索
// 4. 截图保存
// 5. 调用 OCR 识别
// 6. 提取商品信息
// 7. 保存 JSON 数据
ocr.py - OCR 识别脚本
# 1. 读取截图
# 2. Tesseract OCR 识别
# 3. 提取价格/想要人数等
# 4. 输出结构化数据
uploader.sh - Gitee 上传脚本
# 1. 调用 Gitee API
# 2. 创建/更新文件
# 3. 提交 commit
# 4. 返回上传结果
数据格式
单个商品数据
{
"keyword": "Magisk",
"products": [
{
"title": "Magisk 模块合集 17G 资源",
"price": "1.00",
"wants": "628 人想要",
"seller": "卖家信用优秀",
"tags": ["24h 自动发货", "包邮"]
}
],
"timestamp": "2026-03-20T06:00:00+08:00",
"screenshot": "screenshots/xianyu-Magisk.png"
}
汇总报告结构
# 闲鱼数据调研报告
## 关键词:Magisk
- 商品数:19 个
- 价格区间:¥1-50 元
- 热门商品:...
## 关键词:KernelSU
...
## 价格分析
...
## 竞品分析
...
DEBUG 指引
日志位置
| 日志 | 文件 |
|---|---|
| 抓取日志 | logs/xianyu-grabber.log |
| OCR 日志 | logs/xianyu-ocr.log |
| 上传日志 | logs/xianyu-upload.log |
| 错误日志 | logs/xianyu-error.log |
常见问题
1. 截图显示「非法访问」
原因: 反爬虫检测到自动化
解决:
# 1. 更新 Cookie
# 2. 降低抓取速度(增加延迟)
# 3. 减少并发关键词数量
2. OCR 识别结果为空
原因: Tesseract 未安装或语言包缺失
解决:
# 安装 Tesseract
apt-get install tesseract-ocr tesseract-ocr-chi-sim
# 验证安装
tesseract --version
tesseract --list-langs
3. Gitee 上传失败
原因: Token 无效或权限不足
解决:
# 1. 检查 Token 是否有效
curl -H "Authorization: Bearer YOUR_TOKEN" https://gitee.com/api/v5/user
# 2. 检查仓库权限
# 确保 Token 有 projects 权限
4. Playwright 浏览器启动失败
原因: 缺少依赖或浏览器未安装
解决:
# 安装 Playwright 浏览器
npx playwright install chromium
# 安装系统依赖
apt-get install libnss3 libnspr4 libatk1.0-0 \
libatk-bridge2.0-0 libcups2 libdrm2 libxkbcommon0 \
libxcomposite1 libxdamage1 libxfixes3 libxrandr2 \
libgbm1 libasound2 libpango-1.0-0 libcairo2
测试命令
# 测试配置
xianyu-data-grabber test-config
# 测试 OCR
xianyu-data-grabber test-ocr --image test.png
# 测试 Gitee 上传
xianyu-data-grabber test-upload --file test.txt
# 完整测试
xianyu-data-grabber test --all
定时任务
每日自动抓取
# crontab -e
0 9 * * * cd ~/.openclaw/workspace && node skills/xianyu-data-grabber/grabber.js --config --upload >> logs/xianyu-cron.log 2>&1
每周生成报告
0 10 * * 1 cd ~/.openclaw/workspace && node skills/xianyu-data-grabber/report.js >> logs/xianyu-report.log 2>&1
安全与隐私
敏感数据保护
- Cookie: 存储在配置文件,权限 600
- Gitee Token: 存储在配置文件,权限 600
- 数据文件: 本地存储,不上传第三方
平台合规
- 请求频率: 默认 5 秒间隔/关键词
- User-Agent: 真实浏览器标识
- 数据使用: 仅用于个人研究
性能优化
批量抓取
# 并行抓取(更快但可能被检测)
xianyu-data-grabber search --parallel 3
# 串行抓取(更慢但更安全)
xianyu-data-grabber search --sequential
缓存机制
- 截图缓存:避免重复抓取
- OCR 缓存:避免重复识别
- 数据缓存:5 分钟有效期
相关文件
- 技能文件:
skills/xianyu-data-grabber/SKILL.md - 主脚本:
skills/xianyu-data-grabber/grabber.js - OCR 脚本:
skills/xianyu-data-grabber/ocr.py - 上传脚本:
skills/xianyu-data-grabber/uploader.sh - 配置文件:
.xianyu-grabber-config.json
Changelog
v1.0.0 (2026-03-20)
- 🎉 初始版本
- Playwright + OCR 抓取
- Gitee 自动上传
- 批量关键词支持
- 自动生成报告
Weekly Installs
1
Repository
openclaw/skillsGitHub Stars
3.8K
First Seen
5 days ago
Security Audits
Installed on
amp1
cline1
openclaw1
opencode1
cursor1
kimi-cli1