3 分钟跑通 jd-happy:京东商品库存监控与自动下单完整指南
【免费下载链接】jd-happy[DEPRECATED]Node 爬虫,监控京东商品到货,并实现下单服务项目地址: https://gitcode.com/gh_mirrors/jd/jd-happy
补货通知还没看完,刷新页面就显示售罄。jd-happy 是一个面向京东的库存监控与自动下单 Node.js 工具:定时轮询指定商品的库存,一旦显示有货,就自动加购并提交订单。下单成功后,你只需要去付款。
jd-happy 能做什么,不能做什么
它负责三件事:扫码登录京东账号、按地区查询某个商品的库存状态、库存大于 0 时自动加入购物车并提交订单。
它不负责的事:不付款、不缓存登录状态(每次运行都要重新扫码)、也暂不支持抢购类(秒杀)商品。
技术路线一句话就能说清:启动时驱动一个真实浏览器拿到登录页的隐藏参数,之后全部改用普通 HTTP 请求完成。你不需要理解底层细节,只需记住"浏览器管登录,请求管其余"。
快速上手:安装与启动
环境要求
- Node.js 12.0.0 及以上版本
- yarn 包管理器
- 机器能启动浏览器——工具启动时需要短暂开一个浏览器实例抓取页面参数
安装与启动
git clone https://gitcode.com/gh_mirrors/jd/jd-happy cd jd-happy yarn install装好后直接启动监控(参数含义下一节细说):
yarn start -a 2_2830_51810_0 -g 5008395运行后会自动弹出一张二维码图片,用京东 APP 扫码、手机确认,终端就开始实时输出商品详情了。
参数配置:4 个核心参数
所有配置都通过命令行参数传入,不用改源码。
| 参数 | 含义 | 默认值 | 示例 |
|---|---|---|---|
-a/--area | 地区编号,格式区域_省份_城市_区县,决定查哪个地区的库存和下单收货地址 | 必填,无默认 | 2_2830_51810_0 |
-g/--good | 商品编号,即商品页 URL 里的那串数字 | 必填,无默认 | 5008395 |
-t/--time | 查询间隔,单位毫秒 | 10000(10 秒) | 5000表示每 5 秒查一次 |
-b/--buy | 是否自动下单 | true(自动下单) | false表示只监控提醒 |
记不住参数写法时,执行yarn start -h会打印完整的帮助说明和示例。
典型场景实操:盯一个补货的 CPU
怎么设置:执行yarn start -a 2_2830_51810_0 -g 5008395 -t 5000,每 5 秒轮询一次;buy 参数默认就是 true,检测到有货会自动下单。
看到什么反馈:终端每隔几秒滚动输出一次商品详情块,包含时间戳、商品名、价格、库存状态。无货时状态一行显示"无货";一旦变成"有货",程序自动转入加购流程,不再等待。
得到什么结果:终端先打印"商品已成功加入购物车",接着输出订单详情——订单总金额、收货地址、收货人——最后给出订单号,提示你前往京东尽快付款。
如果只想看库存、不想自动买,加-b false并把间隔拉长到30000(30 秒)。它变成一台纯提醒机器,有货后由你手动下单。
工作原理通俗讲
登录阶段。启动时工具先打开浏览器访问京东登录页,从页面里取出 token、uuid 等几个隐藏参数——类似进游乐场先取"入园卡",后面所有请求都要出示它。然后它申请一张登录二维码并自动打开图片,每隔 1 秒追问一次"扫了没有",直到扫码成功、拿到登录凭证。全程不经过你的账号密码。
库存轮询阶段。登录后,每个间隔它并行打三个数据源:商品价格、库存状态、商品页面。其中库存接口直接返回状态码:33 表示有货,34 表示无货。相当于保安每 10 秒查一次仓库台账,不用进店逛。状态码变成 33,轮询循环立刻跳出,进入下单流程。
下单阶段。先访问商品页里的加购链接把商品放进购物车,根据返回的提示文案判断是否成功;再请求订单页,把订单总金额、收货地址打印出来供你核对;最后提交订单,返回订单号。
网络抖动导致某次请求失败时,工具不会立刻退出,而是等一个间隔重试;实在不行整个进程会带着报错退出,重跑一次即可。
进阶技巧与避坑
💡 几个能帮你省时间的细节:
- 查询频率别拍脑袋:
-t的单位是毫秒,5000 是 5 秒,别写成 5000000。热门商品 3~5 秒,普通商品 10~15 秒,长期挂着监控用 30 秒以上。 - 地区编号要查对:它同时决定查哪个地区的库存、订单发往哪里。填错的表现是明明本地有货却一直显示"无货",或者订单寄到别处。可以在京东 APP 的收货地址管理里对照自己的地址查编码。
- 留意账号风控:查询过于频繁可能触发限流。需要长期监控时可以备一个账号轮换,别用同一账号同时开多个实例。
- 遵守平台规则:这个工具定位是个人购物辅助,请把查询频率控制在合理范围,不要拿它做批量抓取或商业用途。
边界与限制:跑之前先看
⚠️jd-happy 只下单,不付款。下单成功后你仍需在京东 APP 或网页端限时完成支付(通常 30 分钟),超时订单自动取消,前面全白等。
另外几条边界:
- 登录状态不做本地缓存,每次运行都要重新扫码。
- 不支持抢购(预售/秒杀)类商品。
- 项目本身已标记 DEPRECATED:京东页面更新后部分接口已过期,运行时若遇到报错,需要自行排查修复对应的接口调用。
适合谁
想蹲一个限量或长期缺货的商品,它是省心的自动化助手;只想看库存提醒,把自动下单关掉就能当监控脚本用。对开发者来说,整个项目就是src/下几个小文件,主流程都在 src/index.js 里:浏览器取参 → 请求登录 → 轮询库存 → 加购 → 下单,链路清晰,很适合当作 Node.js 结合浏览器做自动化任务的入门样本。
【免费下载链接】jd-happy[DEPRECATED]Node 爬虫,监控京东商品到货,并实现下单服务项目地址: https://gitcode.com/gh_mirrors/jd/jd-happy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考