大麦网自动抢票脚本部署教程:2步装好,登录到下单全自动
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
大麦网抢票脚本(Automatic_ticket_purchase)用 Python 自动登录大麦网、盯住库存、直接调接口下单,把开抢后最关键的几秒钟从你手里接过去。热门演出抢不到,多半输在反应时间,这个项目就是来补这一块的。
场景与定位
人工抢票要登录、填信息、刷库存、点下单,熟练也要 1 分多钟;脚本把这些环节全部串成一条流水线,开抢前把它挂上就行。速度优势来自架构:登录用 Selenium 驱动真实浏览器,下单改用 Requests 直连接口,页面加载和渲染的开销整个被跳过。拿 8 到 12 秒的自动登录对比人工 45 到 60 秒,差距从这里来。
以演唱会整点开抢为例,提前半小时把脚本跑起来,开抢后它自己完成检测、下单到出支付链接,你只负责点支付。
环境准备
先确认本机装了 Python 3.6 或更高版本,然后一条命令搞定安装:
git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase && cd Automatic_ticket_purchase pip install -r requirements.txt四个依赖各有分工:
- BeautifulSoup4:解析网页里的 HTML
- Requests:发 HTTP 请求,直连下单接口
- Selenium:驱动 Chrome 完成登录页面操作
- PyExecJS:执行 JS 脚本,负责接口签名
浏览器驱动需要单独处理:下载与本机 Chrome 版本一致的 ChromeDriver,按系统重命名成chromedriver_windows、chromedriver_linux或chromedriver_mac,放进项目根目录。脚本会识别系统类型自动选对应文件,你不用配路径。
启动前要填的参数
所有参数都在 核心脚本 的DaMaiTicket.__init__里改,一共七项:
| 参数 | 填什么 | 去哪找 / 怎么核对 |
|---|---|---|
login_id | 大麦网登录账号 | 账号密码登录方式使用 |
login_password | 对应密码 | 与登录账号配套 |
item_id | 目标演出的商品 ID | 详情页地址栏id=后那串数字 |
viewer | 观演人姓名列表 | "我的大麦" → 常用购票人,与实名信息逐字一致 |
buy_nums | 购票数量 | 必须和viewer里的姓名数量相同 |
ticket_price | 目标票价 | 与页面显示一致;选座场次填对应价位 |
login_cookies | 留空即可 | 首次登录成功后自动生成cookies.pkl,下次启动直接复用 |
商品 ID 在演出详情页的地址栏里,id=后面那串数字就是它:
每个城市、每个日期都有独立的 ID,换场次就要重新复制。多人购票时viewer列表加多个姓名,数量与buy_nums保持一致。
启动之后发生什么
登录方式决定启动命令,三选一:
python Automatic_ticket_purchase.py # 账号密码登录 python Automatic_ticket_purchase.py --mode qr # 扫码登录启动后分四个阶段跑:
第 1 阶段:登录并落盘。Selenium 打开浏览器完成登录,校验登录态,成功后把 Cookies 存成cookies.pkl。之后再启动直接读这个文件,省掉重复登录。
第 2 阶段:盯库存。脚本反复查询目标票档的按钮状态:"即将开抢"就继续等,"缺货登记"就提示售空退出,"立即购买"出现就立刻进入下单。
第 3 阶段:三步下单。依次请求三个接口:拿购买参数、进订单确认页、提交订单。成功后打印支付宝订单号和支付链接,剩下就是人工付款。
第 4 阶段:选座场次。如果是选座购买,会多拉一次座位数据,过滤出目标价位下可售的座位,挑好再提交,其余流程不变。
提高成功率
先看差距有多大:
| 环节 | 人工耗时 | 脚本耗时 |
|---|---|---|
| 登录验证 | 45–60 秒 | 8–12 秒 |
| 信息填写 | 25–40 秒 | 1–2 秒 |
| 库存监控 | 手动刷新页面 | 约 0.5 秒一次 |
| 下单支付 | 20–35 秒 | 2–3 秒 |
再补三条建议:
- 网络:优先有线连接,固定公共 DNS,关下载、视频这类占带宽的程序
- 多设备:多台机器各配独立账号和 IP 同时跑,成功率叠加
- 提前量:开抢前 30 分钟启动,让登录和参数解析都提前完成,别卡点冷启动
跑不通时先查这里
- 浏览器起不来:ChromeDriver 和 Chrome 版本对不上。在 Chrome"关于"页查版本号,下载一致版本的驱动,改名放进项目根目录。
- 提示登录失败:账号密码错,或
cookies.pkl已过期。删掉这个文件,重新走一次登录。 - 观演人不一致被拦截:脚本里
viewer的姓名和平台登记的实名信息有出入,包括空格和大小写。直接回常用购票人页面复制。 - 报获取购票信息失败:
item_id或ticket_price填错。回详情页核对id=和票价数字,两处都不能差。
代码地图
- Automatic_ticket_purchase.py:主流程,参数配置、库存监控和三步下单都在这里
- tools.py:登录、Cookies 存取、接口参数解析的工具函数
- signcode.js:接口签名用的 JS 算法
- requirements.txt:依赖版本清单
使用红线
- 代码仅限个人学习和研究,不要用于倒卖或批量购票
- 保持脚本原有的请求节奏,别自己放大频率去压服务器
- 观演人必须是账号里实名登记的本人或代他人登记的真实信息
脚本解决的是速度问题,不解决库存问题。热门场次开抢前先用一场非热门票完整跑一遍,确认登录、下单、支付每一步都通,正式抢票心里才有底。
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考