店铺商品抓取 → 生成 Excel
抓取电商店铺(淘宝/天猫/京东/1688)全部商品,按用户指定的「空表格」模板结构填入,生成一份带封面图的新 Excel(绝不覆盖原模板/原文件)。
触发信号
用户说"抓取/采集这个店铺的所有商品"、"把店铺商品列表导出成表格"、"采集商品生成 Excel",或直接给店铺/商品列表链接要求整理成表格。
前置依赖
- 加载
agent-browserskill(浏览器自动化)。 - Excel 生成用本 skill 自带脚本
scripts/fill_products_excel.py(openpyxl)与scripts/choose_save_path.py(原生弹窗)。依赖已声明(openpyxl、Pillow)。脚本路径用<skill>/scripts/...相对引用。
核心流程(严格按顺序)
- 拿链接 → 立即打开浏览器,第一时间判断能否直接看商品:读一次
location.href+ 商品卡片计数。商品直接可见 → 跳过登录;跳登录页/商品不可见 → 立即登录。 - 登录(仅需时):第一时间弹二维码,停下等用户扫码。详见
references/login-guide.md。 - 抓全店商品基础信息(标题/ID/封面/链接/价格)→ 立即
agent-browser close。平台抓取方式见references/scraping-playbooks.md。 - 关浏览器后:问「筛选领域 + 模板 + 保存位置」(全部本地化,不重开浏览器)。原生弹窗见
references/save-dialog.md。 - 本地筛选 + 字段映射 → 生成 Excel → present_files 呈现。字段映射见
references/template-schema.md。
> 核心提速点:拿到链接不要先问模板/保存位置,先打开浏览器判断能不能看商品、看不了立即登录;模板/保存/筛选全部推迟到关浏览器之后。
风控红线(最高优先级,先于一切)
- 绝不在后台反复刷新/轮询/重开/反复截图(账户被强退的头号原因);弹二维码后停下等按钮;抓完当前页立即关浏览器。
- 绝不碰风控接口(京东
moduleHtmlColor、p.3.cn价格、移动端、smzdm);价格拿不到就留空,改全网搜索补。 - 不高频:页面/接口间隔 ≥2s、翻页随机停 2~5s、图片下载
--img-delay 0.8。 - 不反复登录:重登 ≤3次/h、间隔 ≥120s;登录态失效先停手问用户。
- 不机械操作:不连续滚动、不留整齐固定节奏。
- 最小浏览器驻留:浏览器只做「判断 → 登录 → 抓基础信息 → 关」;价格/英文名/分类/简称 + 模板/保存/筛选,全部关浏览器后本地补。
数据填写规则
只写抓取到的真实值,缺字段留空(不填 unknown/N/A/待确认);品牌中英文不混写、不猜、不自行音译;「资料来源链接」填详情页链接。完整字段映射见 references/template-schema.md。
安全约束(脚本已内置,勿绕过)
choose_save_path.py/fill_products_excel.py 已内置:命令注入转义、Excel 公式注入防护、SSRF scheme 白名单、5MB 图片上限、输出防覆盖(自动 _v2/_v3)、凭证不落盘。执行时勿绕过脚本直接用未转义 shell 拼 osascript/powershell。
详细参考(AI 按需加载)
- 登录二维码:
references/login-guide.md - 平台抓取特例(mtop/京东/风控接口/去重):
references/scraping-playbooks.md - 字段映射:
references/template-schema.md - 原生弹窗:
references/save-dialog.md - 错误处理:
references/troubleshooting.md - 汽美药剂库扩展:
references/carglow-extension.md