sorftime-rpa 统一技能(通俗版使用文档)
把原来 11 个分散的 sorftime 技能合并成了 1 个。一条命令抓数据,一条命令出报告。
Browser-RPA + 数据分析项目,针对 sorftime.com (亚马逊卖家分析 SPA)。覆盖 6 个「选品」模块和 5 个「查」模块,统一为一个 skill sorftime-rpa(单入口 CLI;旧的 11 个分模块 skill 保留为备份)。
你需要准备什么
- Chrome/Edge 装好 BrowserSkill 扩展并点连接(变绿)。
- 浏览器里已登录 sorftime.com。
- 终端确认:
bsk status显示browsers connected: 1(或更多)。
为什么这么麻烦?sorftime 的接口全程加密,只能驱动你自己的浏览器去"看"页面解密后的数据。 好处是不用配任何 cookie/key,登录态直接复用。
模块覆盖
选品模块
| section | sorftime 路径 | 模式 | 数据可用性 |
|---|---|---|---|
| bestseller | /home/bestseller | DOM-driven, 每类目触发 | ✅ 完整 TOP100 |
| product | /home/chooseproduct | DOM-driven, 自动加载 | ⚠️ 每站 ~20 个未遮罩 ASIN(免费层) |
| market | /home/choosemarketblock | DOM-driven, marketBoard.items 自动加载 | ✅ 9/14 站(20 类目 × 251 字段;IN/CA/MX/AU/SA 0 数据) |
| keyword | /home/choosekeyword | DOM-driven, keywordData.listData | ✅ 12/14 站(IN/AE 无数据) |
| brand | /home/choosebrand | DOM-driven, board.items 默认加载 | ✅ 14/14 站 |
| seller | /home/chooseseller | DOM-driven, sellerBoard.items 默认加载 | ✅ 9/14 站(IN/AE/AU/BR/SA 无数据) |
查模块(新品)
| section | sorftime 路径 | 输入 | 输出维度 |
|---|---|---|---|
| checkproduct | /home/checkproduct | ASIN(批量,最多 ~100) | 产品详情:价格/销量/评价/BSR/品牌/卖家 |
| checkbrand | /home/checkbrand | 品牌名 / ASIN / 卖家名 / 卖家公司 / 热搜词 | 品牌矩阵:产品数/卖家数/Top100/销量/均价 |
| checkseller | /home/checkseller | 卖家名 / ASIN / 品牌名 / 热搜词 | 卖家店铺:产品数/Top400/月销量/均价 |
| checkmarket | /home/checkmarket | 类目名 / ASIN / 关键词 | 市场概况:月销量/均价/新品占比/星级/周期 |
| checkkeyword | /home/checkkeyword | ASIN / 关键词(实验性) | 多表结构:流量来源/ABA关键词/热搜趋势 |
14 站点全支持:US/GB/DE/FR/IN/CA/JP/ES/IT/MX/AE/AU/BR/SA
架构
- BrowserSkill (bsk) 驱动:通过
bsk控制用户真实已登录的浏览器(复用登录态,无需常驻 daemon / 端口权限) - DOM-driven 抓取:sorftime 的 API 用 AES 加密请求/响应(
{v:3, k, d}格式),直接调用不可能。统一 skill 驱动 Vue VM 自带的方法(treeItemClick,onBrandSearch,onPageSizeChange等)触发加密 POST,然后从 Vue reactive state /.el-tableDOM 读取解密后的数据 - 三层抽象:传输层(
bridge_browserskill.py)+ 引擎层(core_domain/core_check/ 例外模块)+ 配置层(sections.py注册表,11 个板块的全部 URL/JS/解析函数) - Python stdlib only:无第三方依赖
- CSV + Markdown 报告:单入口
sorftime_rpa.py scrape / analyze / sections
常用操作(在项目根 D:/sorftime-rpa 下)
CLI="python .claude/skills/sorftime-rpa/scripts/sorftime_rpa.py"
# 看看有哪些板块
$CLI sections
# 抓品牌榜(美国+日本)
$CLI scrape --section brand --station US,JP --out data/brands.csv
# 查一个品牌在各站的情况
$CLI scrape --section checkbrand --station US --mode brand --queries Anker --out data/anker.csv
# 查几个 ASIN
$CLI scrape --section checkproduct --station US --queries B0CHX1W1XY,B0BDHZ8Q63 --out data/asins.csv
# 畅销榜(类目遍历,较慢)
$CLI scrape --section bestseller --station US --out data/best.csv
# 选市场(4 个子模式都抓)
$CLI scrape --section market --station US --sub-modes multi,buyer,new,lowprice --out data/markets.csv
# 把抓到的 CSV 变成 Markdown 报告
$CLI analyze --section brand --input data/brands.csv --out-md reports/brand.md
板块一览
| 板块 | 是什么 | 抓什么 | |---|---|---| | bestseller | 畅销榜 | 每类目 TOP100 商品 | | product | 产品选品 | 每站 ~20 个未遮罩 ASIN(免费版限制) | | keyword | 关键词趋势 | 每站 20 个热门关键词 | | brand / seller | 选品牌 / 选卖家 | 每站 20 行榜单 | | market | 选市场 | 每站 20 类目 × 246 字段,4 个子模式 | | checkproduct | 查 ASIN | 批量 ASIN 跨站详情 | | checkbrand / checkseller / checkmarket | 查品牌/卖家/市场 | 按关键词跨站查询 | | checkkeyword | 查关键词 | 🔬 实验性(页面 6+ 张表) |
常见问题
- 抓到 0 行? 页面加载慢(7~8 秒起步)。先用
--sleep调大(域板块);检查是否登录过期。 - CSV 打开乱码? 用 Excel 直接开(带 BOM);代码读要
encoding='utf-8-sig'。 - 想跑回归测试?
python .claude/skills/sorftime-rpa/scripts/test_offline.py(不需要浏览器)。 - 想看原理/踩坑? 读同目录
references/dom_notes.md和references/environment.md。
和旧技能的关系
原来 11 个 sorftime-* 技能目录原样保留当备份(它们的传输层也已切到 bsk)。
新技能稳定后想清理就删掉旧目录。技术细节见 SKILL.md。
微信扫一扫