返回 Skill 列表
extension
分类: 数据与分析无需 API Key

京东SKU品牌类目梳理

批量抓取京东商品页信息——给定一批京东 SKU(商品 ID),自动打开每个商品页,提取「商品标题」和页面面包屑层级(如 手机通讯 › 手机 › 手机 › vivo),整理成可复制的 HTML 表格或 Excel 并提供下载。适合电商选品、竞品归类、商品库清洗时批量识别京东商品的类目与品牌。无需登录京东即可抓取,遇到登录墙会自动停在扫码页等你登录(登录态持久化到本地,下次免扫)。

person作者: user_e165c7d5hubcommunity

京东 SKU 品牌类目梳理

SkillHub 发布版 · Slug:jd-sku-brand-category-curator 显示名:京东SKU品牌类目梳理

把一串京东商品 ID 或链接丢进来,自动给每个商品抓「标题 + 面包屑层级」,整理成可一键粘贴进 Excel 的 HTML 表格,或者直接出 .xlsx。类目层级不固定,几级就出几列(信息一、信息二……信息N),不写死、不强制区分「类目/品牌」——业务字段怎么用你说了算。

何时用

  • 「把这 100 个 SKU 的类目抓出来」「批量识别京东商品的类目和品牌」
  • 电商选品、竞品归类、商品库清洗需要批量提取京东类目路径
  • 把一份运营/品牌同学的 Excel 跑一次,自动补全类目信息

三步上手

① 把要抓的 SKU 列出来

scripts/skus.txt每行一个京东商品 ID(也支持逗号/空格分隔)。示例文件已经放好,先删掉示例换上你自己的:

100396677618
10064243847665

或者跑的时候直接传:node scripts/cdp-jd-batch.js --skus "100396677618,10064243847665"

② 一条命令完成抓取

node scripts/cdp-jd-batch.js

脚本会:启动带反检测参数的独立 Chrome → 逐个打开商品页抓取标题与面包屑 → 直接生成 京东SKU类目品牌.html(带「复制表格」按钮,可一键粘贴进 Excel)。每个 SKU 之间随机 2~3.5 秒延迟防风控,跑完只关闭脚本自己启的 Chrome。

登录墙自动处理:冷 profile 访问京东商品页常被重定向到 passport.jd.com 登录页——这时候脚本会自动停在可视化 Chrome 的登录页等你在本机扫手机京东/微信,检测到登录成功后自动继续。登录态存进 scripts/.cdp-profile/,下次直接免扫。也可以强制先登录:node scripts/cdp-jd-batch.js --login

③ 拿到结果

打开 scripts/京东SKU类目品牌.html → 点页面上「复制表格」按钮 → 粘到自己的 Excel 里即可。如果要直接出 .xlsx

node scripts/cdp-jd-batch.js --excel

会再调用 make_excel.py 产出 京东SKU类目品牌.xlsx(需 openpyxl,脚本自动安装兜底)。HTML 默认已满足「复制进 Excel」需求,Excel 是可选增强。

前置依赖(首次跑要先装)

依赖没内嵌到包里(控制 SkillHub 上传文件数 < 200 个),首次跑前手动装一下:

cd scripts
npm install

只装两个包:chrome-remote-interface + @puppeteer/browsers,几秒搞定。

  • Chrome 自动下载:本机没装 Chrome 时,首次运行脚本会自动下载 Chrome for Testing 到技能目录 .chrome-cache/(约 150MB,之后复用)。默认走 npmmirror 国内镜像,国内直连即可
  • 无需登录:默认匿名即可抓取;遇登录墙时按上面 ② 的说明处理
  • Python + openpyxl:要做 Excel 输出时才需要,第一次跑 --excel 会自动 pip install

输出长什么样

| 列 | 来源 | 说明 | |---|---|---| | SKU | 输入 | 你给的商品 ID | | 标题 | document.title(已去掉尾部「【行情 报价 价格 评测】」之类广告词) | | | 信息一 / 信息二 / … / 信息N | 面包屑 .crumb a 文本顺序 | 层级不固定,几级就出几列,缺的留空 |

注意:信息N 字段不强制区分「类目/品牌」——京东面包屑本身就混合了类目、品牌、品类等语义;建议拿表后人工一眼过一下,必要时把列名按业务重命名(如把第三列重命名成「品类」、第四列重命名成「品牌」)。

关键踩坑(务必看一遍)

  • 京东风控:默认 CDP 启动会被识别为 bot,返回「最小单价计算器」占位页(无类目/品牌)。脚本已内置 --disable-blink-features=AutomationControlled + 真实 UA + --no-sandbox别自己删掉启动参数
  • 登录墙:冷 profile 是常态,不要慌——脚本会停可视化 Chrome 等你扫码,扫完自动继续
  • CDP 大坑Runtime.evaluate 返回 JS 数组/对象时只给 objectId,必须用 JSON.stringify(...) 包一层(脚本已处理,别瞎改)
  • 层级不固定:京东面包屑可能是 3/4/5/6 级,绝不要写死列数(脚本已动态扩展)

更详细的排错看 references/troubleshooting.md

环境变量(可选)

| 变量 | 作用 | |---|---| | JD_SKILL_CHROME | 指定 chrome.exe 路径(自动探测失败时用) | | JD_SKILL_PROFILE | 指定 Chrome 用户数据目录(默认脚本内 .cdp-profile/,复用登录态) | | JD_SKILL_CHROME_MIRROR | 切换 Chrome 下载源(默认 npmmirror 国内) | | HTTPS_PROXY / JD_SKILL_PROXY | 走代理下载 Chrome(默认国内直连) |

文件结构

jd-sku-brand-category-curator/
├── SKILL.md                       ← 本文件
├── .gitignore                     ← 屏蔽 Chrome profile / 输出文件
├── references/
│   └── troubleshooting.md        ← 反检测 / 风控 / 选择器 / 登录态排错
└── scripts/
    ├── cdp-jd-batch.js            ← 抓取主程序(CDP + 反检测 + 登录等待 + 动态层级)
    ├── make_excel.py              ← 可选 Excel 输出(动态列 + openpyxl 自动安装兜底)
    ├── skus.txt                   ← 输入样例(删掉换上你自己的)
    ├── test-dl.js                 ← 下载功能测试
    └── package.json + package-lock.json  ← 首次跑前在 scripts/ 下执行 npm install

提示

  • 首次跑会下 Chrome:脚本发现本机没 Chrome 就自动去 npmmirror 下载到 scripts/.chrome-cache/(约 150MB),需要等几十秒
  • 量大时分批跑:一次塞上千个 SKU 不建议,京东风控会升级;分批 100-200 个/次最稳
  • 登录态保护scripts/.cdp-profile/ 是你本机的京东登录态,别手贱删,也别提交/分发到任何地方(这个包已通过 .gitignore 屏蔽)
  • 合规使用:本工具用于内部选品/归类时合规无虞;用于二次售卖/爬取竞争对手定价等商业敏感场景请自行评估风险