# 京东自动抢购 **Repository Path**: fcba_zzm/jd_robot ## Basic Information - **Project Name**: 京东自动抢购 - **Description**: 使用selenium实现京东商城自动登录和定时提交订单 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 34 - **Created**: 2021-01-17 - **Last Updated**: 2023-02-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 京东自动抢购 ### :exclamation: 免责声明 1. 本程序仅作为学习和参考使用,严禁其他用途。 2. 对于他人使用本项目所导致的任何直接或间接的损失或惩罚,本人不承担任何责任。 3. 任何单位或个人认为该项目的脚本涉嫌侵犯其权利,则应及时通知并提供相关证明,本人将在收到证明后删除相关脚本。 4. 本项目遵守`Apache License 2.0`协议,本声明与`Apache License 2.0`协议有冲突之处,以本声明为准。 5. 本人拥有随时更改或补充此免责声明的权利,**任何人直接或间接使用了本项目的任何内容,视为`接受`此声明。** ### :gift: 介绍 京东平台时常会发布一些需要**抢购**的商品,或者是**限时折扣**的商品,这种折扣活动时间一般在凌晨,~~为了几块钱优惠牺牲自己的健康是不值得的~~ **白嫖的福利怎么能轻易放过呢!** 这个程序可以帮助我在白嫖的同时拥有健康的身体:使用selenium定时自动登录京东,完成购物车商品的提交。按照京东平台的规则,商品订单提交之后不必马上支付,订单提交成功之后可以在24小时内手动完成商品的支付。 ### :blush: 使用场景 某手机3月8日降价800块,但是库存只有200部,想要抢到7日晚上就要熬夜盯着表,一到12点就马上点进去,手速稍微慢一点就没戏了。 如果使用这个程序: 提前将手机加入购物车,3月7日晚上十点启动程序,将时间设为8日零点,然后躺下睡大觉。第二天早上醒来查看一下订单状态,如果提交成功,并且商品和价格都没什么问题 ,就可以支付订单。 ### :zap: 安装使用教程 1. 将info_demo.py 重命名为info.py,填入必要的参数 2. 需要安装最新版chrome,[国内下载地址](https://www.chromedownloads.net/) 3. 执行入口文件action.py 4. 可以设置手动/自动登录模式(`Info.is_manual=True/False`) 如果设置为手动登录,不需要填入用户名、密码,程序会访问登录页面,你有30秒钟时间手动完成登录,超时则登录失败,手动登录完成后让页面停留在主页中,不要乱点。 自动登录模式需要在`Info.jd_conut`和`Info.jd_password`中填入密码,程序会自动登录 无论是自动登录或者手动登录,都会保存cookie,程序七天内不需要重复手动登录 5. 可以将商品链接和购买数量填入Info类的goods_url和goods_num变量中,这样购物车在提交前会加入链接中的商品 6. 京东反爬过于强大,当前程序还不成熟,建议首次登录使用手动登录的方式 ### :paperclip: 目录结构 ``` |---action.py |---info.py 保存一个个人信息,包括一些必要的账号密码,ip地址等 |---info_demo.py 与info.py结构和参数相同,但是值均为空 |d--resource |d--chromedriver-win32 |---chromedriver.exe |d--cookie |---*.cookies 保存cookie文件 |d--temp 临时文件 |---validate_img保存验证码文件 ``` ### :fire: 待做 6. 修改登录的判断方法(如果不存在某元素就认为已登陆是不保险的,应该是如果存在某元素就认为已登陆) 9. 写一个自动更新webdriver的脚本 10. 多写几个滑动轨迹 12. 通过链接直接提交订单接口 13. 使用qt做一个图形界面,来更方便的输入参数 14. ### :envelope: 感谢 1. 滑动验证使用代码大部分来自于这个项目:[selenium_login_cracking](https://github.com/onepureman/selenium_login_cracking) , 尽管我之前也使用了opencv破解滑动验证,但是成功率感人,于是就把这个项目的代码照搬过来了 2. 免责声明参考了这个项目,写的非常好[jd_maotai_seckill](https://github.com/mengxr123/jd_maotai_seckill)