MCPcopy
hub / github.com/tychxn/jd-assistant

github.com/tychxn/jd-assistant @main sqlite

repository ↗ · DeepWiki ↗
79 symbols 311 edges 10 files 40 documented · 51%
README

JD-Assistant

version status license star, issue

京东抢购助手(短期内不再更新)

主要功能

  • 登陆京东商城(www.jd.com
  • 手机扫码登录
  • 保存/加载登录cookies (可验证cookies是否过期)
  • 商品查询操作
  • 提供完整的地址⇔ID对应关系
  • 根据商品ID和地址ID查询库存
  • 根据商品ID查询价格
  • 购物车操作
  • 清空/添加购物车 (无货商品也可以加入购物车,预约商品无法加入)
  • 获取购物车商品详情
  • 订单操作
  • 获取订单结算页面信息 (商品详情, 应付总额, 收货地址, 收货人等)
  • 提交订单(使用默认地址)
    • 直接提交
    • 有货提交
    • 定时提交
  • 查询订单 (可选择只显示未付款订单)
  • 其他
  • 商品预约
  • 用户信息查询

运行环境

第三方库

安装:

pip install -r requirements.txt

使用教程

程序主入口在 main.py

👉 使用教程请参看Wiki

更新记录

  • 【2020.03.10】修复了一些小问题。
  • 【2020.02.08】修复了查询库存接口响应数据结构变化导致的问题。
  • 【2020.02.06】添加下单成功消息推送功能;新增配置参数以减少各种异常情况。
  • 【2020.02.03】查询商品库存方法添加超时,避免少数情况下的卡死问题;对部分代码进行了优化。
  • 【2020.02.02】重写了监控库存提交订单功能:监控多商品时可以下单任一有库存商品,具体使用方式请参考wiki。
  • 【2020.01.29】修复了自定义商品数量时的bug。
  • 【2020.01.28】完善了监控库存提交订单功能的代码,具体使用方式请参考wiki。
  • 【2020.01.24】修复了查询单个商品库存接口需要添加额外参数的问题。
  • 【2020.01.15】提升了部分代码质量。
  • 【2019.12.14】解决查询单个商品库存接口变动的问题。
  • 【2019.11.10】临时增加预约商品抢购功能。
  • 【2019.02.16】更新了普通商品的抢购代码,在Wiki中写了一份使用教程。
  • 【2018.11.29】京东更新了抢购商品的下单接口,代码已更新,支持定时抢购。
  • 【2018.09.26】京东已下线字符验证码接口,账号密码登录功能失效,请使用扫码登录asst.login_by_QRcode()
  • 【2018.07.28】京东已采用滑动验证码替换登录时出现的字符验证码,但还没有下线字符验证码接口,账号密码登录功能依旧可用。等待后续更新滑动验证方式,推荐使用扫码登录

备注

  • 🌟强烈建议大家在部署代码前使用有货的商品测试下单流程,并且:在京东购物车结算页面设置发票为电子普通发票-个人,设置支付方式为在线支付,否则可能出现各种未知的下单失败问题。🌟
  • 京东商城的登陆/下单机制经常改动,当前测试时间2020.02.08。如果失效,欢迎提issue,我会来更新。
  • 代码在macOS中编写,如果在其他平台上运行出行问题,欢迎提issue。

待完成的功能

  • [ ] Keep session alive
  • [ ] 抢优惠券

不考虑的功能

  • ✖️ 支付功能
  • ✖️ 多账号抢购

Sponsor

JetBrains

Core symbols most depended-on inside this repo

get
called by 75
config.py
response_status
called by 11
util.py
parse_json
called by 11
util.py
get_tag_value
called by 11
util.py
parse_sku_id
called by 6
util.py
parse_area_id
called by 4
util.py
print_area
called by 4
area_id/get_area_id.py
select_area
called by 4
area_id/get_area_id.py

Shape

Method 54
Function 20
Class 5

Languages

Python100%

Modules by API surface

jd_assistant.py47 symbols
util.py15 symbols
config.py4 symbols
area_id/get_area_id.py4 symbols
timer.py3 symbols
messenger.py3 symbols
exception.py2 symbols
log.py1 symbols

Dependencies from manifests, versioned

bs40.0.1 · 1×
pycryptodome3.6.6 · 1×
requests2.20.0 · 1×

For agents

$ claude mcp add jd-assistant \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact