Skip to content

1. 京东抢购助手用法

Tychxn edited this page Feb 16, 2020 · 16 revisions

京东抢购助手用法

请根据自己的需求在main.py文件中修改代码~

1. 初始化

from jd_assistant import Assistant

if __name__ == '__main__':
    asst = Assistant()      # 初始化
    asst.login_by_QRcode()  # 扫码登陆

自动在屏幕显示二维码,请用京东手机APP进行扫描登陆。(二维码有效期约120s)

2. 获取商品id并区分类型

例如:某个商品的网页url为 https://item.jd.com/1178879.html ,那么商品id就是 1178879

判断是 普通商品 or 抢购商品【如何区分】

3. 设置下单模式

3.1 普通商品

普通商品购买主要流程:(1)清空购物车 --> (2)添加商品到购物车 --> (3)提交订单

其中(1)和(2)两步为可选操作,如果已经手工将商品加入购物车并勾选,那么第(3)步会对购物车中勾选✓的商品进行结算(如果勾选了多个商品,将会提交成一个订单)。

普通商品有3种订单提交方式:

  • 直接提交订单
  • 定时提交订单(常用)
  • 有货提交订单

备注: 如果你的账户中有可用的京券(注意不是东券)或 在上次购买订单中使用了京豆,那么京东可能会在下单时自动选择京券支付 或 自动勾选京豆支付,此时下单会要求输入六位数字的支付密码。请提前在config.ini文件中配置支付密码。

3.1.1 直接提交订单示例

from jd_assistant import Assistant

if __name__ == '__main__':
    asst = Assistant()      # 初始化
    asst.login_by_QRcode()  # 扫码登陆
    asst.clear_cart()       # 清空购物车(可选)
    asst.add_item_to_cart(sku_ids='100001324422')  # 根据商品id添加购物车(可选)
    asst.submit_order()     # 直接提交订单

直接提交订单方式不常用,通常用于测试。

3.1.2 定时提交订单示例(常用)

from jd_assistant import Assistant

if __name__ == '__main__':
    asst = Assistant()      # 初始化
    asst.login_by_QRcode()  # 扫码登陆
    asst.clear_cart()       # 清空购物车(可选)
    asst.add_item_to_cart(sku_ids='100001324422')  # 根据商品id添加购物车(可选)
    asst.submit_order_by_time(buy_time='2020-02-16 01:17:59.500', retry=4, interval=5)  # 定时提交订单
    # 3个参数:
    # buy_time: 下单时间,例如:'2019-02-16 01:17:59.500'
    # retry: 下单重复执行次数,可选参数,默认4次
    # interval: 下单执行间隔,可选参数,默认5秒

定时提交订单最为常用,通常用于普通商品到特定时间后变价格购买。

3.1.3 有货提交订单示例

from jd_assistant import Assistant

if __name__ == '__main__':
    sku_ids = '100001324422:1'  # 商品id
    area = '1_72_4211'          # 区域id
    asst = Assistant()          # 初始化
    asst.login_by_QRcode()      # 扫码登陆
    asst.buy_item_in_stock(sku_ids=sku_ids, area=area, wait_all=False, stock_interval=5)
    # 6个参数:
    # sku_ids: 商品id。可以设置多个商品,也可以带数量,如:'1234' 或 '1234,5678' 或 '1234:2' 或 '1234:2,5678:3'
    # area: 地区id
    # wait_all: 是否等所有商品都有货才一起下单,可选参数,默认False
    # stock_interval: 查询库存时间间隔,可选参数,默认3秒
    # submit_retry: 提交订单失败后重试次数,可选参数,默认3次
    # submit_interval: 提交订单失败后重试时间间隔,可选参数,默认5秒

asst.buy_item_in_stock() 方法执行执行流程:

  1. 判断商品A是否有货
  2. 取消勾选购物车中所有商品
  3. 如果商品A已在购物车中,则勾选上该商品;否则,将商品A添加到购物车中(会自动勾选上)
  4. 提交订单

3.2 抢购商品

预约抢购商品特点:

  1. 需要提前点击预约
  2. 大部分此类商品在预约后自动加入购物车,但是无法勾选✓,也无法️进入到结算页面
  3. 到了抢购的时间点后将商品加入购物车,此时才能勾选并下单

注意:

  1. 请在抢购开始前手动清空购物车中此类无法勾选的商品!(因为脚本在执行清空购物车操作时,无法清空不能勾选的商品)
  2. 设置抢购时间时请不要提前,否则可能出现商品加入购物车时默认没有勾选,最终导致一直提交订单失败的情况

3.2.1 定时执行抢购请求(常用)

# 该模式暂停维护

其他功能

  • 查询订单
  • 预约商品

写在最后

  • 抢购受多种因素影响:网速、账号质量、运气等等,仅供娱乐,认真就输了.
  • 这是诞生在业余时间的小工具,感谢你能坚持看到这里~🙏