京东商品库存监控自动下单:10分钟跑通 jd-happy 全流程?
【免费下载链接】jd-happy[DEPRECATED]Node 爬虫,监控京东商品到货,并实现下单服务项目地址: https://gitcode.com/gh_mirrors/jd/jd-happy
jd-happy 是一个基于 Node.js 的京东商品库存监控与自动下单命令行工具,会按固定间隔查询指定商品的地区库存,发现到货后自动完成加购与下单,付款环节留给使用者。它适合需要蹲守特定商品补货、或代下单服务无法覆盖该商品的用户。
四项能力与边界:能做什么、不做什么
项目采用官方扫码登录链路,全部输出在终端完成,没有图形界面。核心能力及边界如下:
| 能力 | 说明 |
|---|---|
| 扫码登录 | 启动后终端输出二维码,用京东 APP 扫码确认登录,不保存账号密码 |
| 分地区库存监控 | 按地区编号逐轮查询目标商品库存,输出商品名、价格、库存状态 |
| 有货自动下单 | 库存状态翻转为有货时自动加入购物车并提交订单,输出订单号 |
| 频率可定制 | 检查间隔以毫秒配置,也可关闭自动下单、只监控到货 |
它没有覆盖两件事:抢购商品、登录状态的本地缓存,均在项目 TODO 中标记为未实现。
十分钟跑通:克隆、安装、启动命令
前提是本地已装好 Node.js。克隆代码并安装依赖(依赖包含 puppeteer、axios、cheerio 等,首次运行涉及浏览器下载,需要耐心等待):
git clone https://gitcode.com/gh_mirrors/jd/jd-happy cd jd-happy && yarn再执行启动命令:
yarn start -a 2_2830_51810_0 -g 5008395启动流程是固定的:Puppeteer 初始化浏览器、抓取登录页参数、关闭浏览器、输出二维码、等待扫码。扫码确认后,终端按-t设定的间隔轮询输出商品详情(时间、商品名、价格、库存状态、链接),检测到有货时自动进入加购、下单,并打印订单号。npm 用户可用npm start -- -a ... -g ...,参数用法一致。
参数速查:4 个命令行选项的含义与默认值
| 参数 | 长选项 | 含义 | 默认值 |
|---|---|---|---|
-a | --area | 地区编号,对应收货地址的配送区域 | 必需 |
-g | --good | 商品编号,即商品详情页 URL 中的数字 | 必需 |
-t | --time | 库存查询间隔,单位 ms | 10000 |
-b | --buy | 有货时是否自动下单 | true |
两个常见变体:
- 只监控不下单:追加
-b false,仅观察库存、接收到货提醒 - 放宽频率到 30 秒:追加
-t 30000,降低请求频率,避免被系统识别为异常行为
商品编号就是商品页 URL 里的数字(http://item.jd.com/5008395.html对应 5008395);地区编号可从官网收货地址管理页获取,或用专门的地区编号查询工具,格式形如2_2830_51810_0的多级拼接。
排查速查:现象对照处理方法
| 现象 | 处理方法 |
|---|---|
| 启动提示"缺少这些必须的选项:a, g" | -a或-g缺失或取值为空,补齐两项后重跑 |
| 扫码无反应或登录失败 | 二维码可能已过期,重跑获取新码;检查本地网络;确认账号未被限制登录 |
| 库存一直无结果或查询失败 | 核对商品编号是否正确;核对地区编号与商品配送范围是否匹配;调大-t降低频率再试 |
长时间监控时,建议把终端输出重定向到文件(启动命令后追加> jd-happy.log 2>&1),方便回查商品状态更新、登录各阶段提示、下单流程进度与错误描述。
⚠️ 安全边界:使用前的四个前提
- 只下单不付款:下单成功后须尽快前往京东完成付款,否则订单超时会取消。
- 不支持抢购商品:当前流程面向常规商品,没有秒杀、抢购逻辑。
- 接口兼容性风险:京东接口更新可能使部分功能失效,项目已标记 DEPRECATED,投入长期任务前先验证依赖接口的现状。
- 多商品监控:分别启动多个实例,一个实例只盯一个商品。
整体链路(扫码、库存轮询、加购、下单)都集中在src/index.js,库存判定与下单请求分别在runGoodSearch和buy两个函数里,定位问题或做二次改造,从这个文件入手最直接。
下一步是用真实商品编号与地区编号在项目目录执行启动命令,先以-b false验证库存查询正常,再开启自动下单;遇到参数问题运行yarn start --help查看完整选项列表,接口层面的异常则关注项目最新更新与问题讨论区。
【免费下载链接】jd-happy[DEPRECATED]Node 爬虫,监控京东商品到货,并实现下单服务项目地址: https://gitcode.com/gh_mirrors/jd/jd-happy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考