茅台不好抢,但是抢mate60还是很容易的。代码同样适用于JD的其他抢购商品,配置文件中添加 task 即可。 之前手册用的vnet抓包,很多人失败在这一步。重新找了一个好用的抓包软件,手册参考
2024/3/23 开新地图了,增加了dev分支,暂不推荐大家切换,改动内容可切换分支查看readme。
增加了显示登录用户名,推送消息时也加了用户名 增加了对api_jd_url的校验处理
- 通过收到html来判断抢完了还是觉得有点虚。所以还是改回去了,按照配置文件中的时间来结束运行。不用配置太长时间(都是秒没,配长时间没用还可能降分)。
- 增加了抢购失败也发送通知
- 增加了一些配置参数的判断,更友好一些吧
参与抢购至少要发起 6 次请求,而抢购时间一般两秒内就结束。所以理论上单次请求时间超过 400ms 的希望都不大。
下文介绍一种方案能够有效降低单次请求的时间(付费文章),非通过代码手段来实现的,所有的代码都是开源的。
只是提高成功率,不代表一定能抢到。请大家理性选择。
新方案效果- 将config-test.ini改名为config.ini
- 按照手册抓包补全信息,注意config中的配置信息是不用加引号的,末尾不要有分号。
pip install -r requirements.txt
安装依赖main.py
如果sign失败大概率是api_jd_url有问题,大家可参考如下格式 api_jd_url = https://api.m.jd.com/client.action?functionId=genToken&clientVersion=12.2.2……
参数 | 是否必填 | 说明 |
---|---|---|
local_cookies | 是 | 抓包 |
local_jec | 是 | 抓包 |
local_jdgs | 是 | 抓包 |
api_jd_url | 是 | 抓包 |
continue_time | 是 | 持续时间,实际jd返回html就认为结束了 |
work_count | 是 | 多进程,可参考CPU核数 |
fp | 是 | 点击获取 |
task | 是 | 配置任务,商品,预约时间,抢购时间 |
address_id | 否 | 如果不使用默认收货地址,可指定地址列表中的其他地址 |
push_token | 否 | 抢购成功后的推送 |
- 打开jd_seckill.py 找到get_address_by_pin方法
- 取消 # logger.info(resp_json['addressList'])这行的注释
- 运行 main.py 可用获取到所有的address。根据自己的标识或者手机号等信息判断要选择的id即可
- 注意本库只能作为学习用途, 造成的任何问题与本库开发者无关, 如侵犯到你的权益,请联系删除
- 为限制大范围传播,不提供打包好的exe和docker image,当然赞助者可跟我索要,但不得传播。
- 抢茅台需要plus分>=103 ,本程序是否会造成封号,降分未完全测试,后果自负。
- 亲测,plus分低于103获取到真实的抢购url要在3s之后,这时候早就抢完了。所以分不够不用参与,不会有任何意外。
- 有人用本仓库抢到过茅台,参考下图,我没抢到过。
sign部分使用的是如下大佬的库,有兴趣的可以关注下 n1ptune/jdSign(github.com)
- 右上角star支持一下
- 如果各位老板需要联系我支持,请打赏后再加微信(小号s84iis)并注明已捐赠。