大麦网自动抢票脚本:6 个参数 + 4 步部署,开售瞬间自动下单
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
Automatic_ticket_purchase 是一个大麦网自动抢票脚本:登录一次后,由 requests 持续轮询票态,在状态变为"立即购买"的瞬间自动请求下单,并输出支付宝支付链接。技术路线一句话:浏览器只负责登录,抢票全程直调大麦购票接口,绕过前端页面。
📌 它到底解决什么问题:拼手速抢不过的那个瞬间
开售按钮从"即将开抢"翻成"立即购买"只有一瞬,靠手动 F5 刷新,开票前你得连刷几十次页面,关键那一下手还是慢半拍,票被别人秒掉。Automatic_ticket_purchase 的思路很直接:绕过前端页面,用 requests 直调大麦的购票接口,开票瞬间替你自动下单。
适合:想抢到指定场次门票的用户,以及想拆解"接口分析 + 自动下单"写法的开发者
注意:README 已声明项目停止维护,大部分购买流程已迁移到手机端,当学习素材使用更稳妥。
⚙️ 内部机制:从登录到支付链接的 6 段数据流
登录凭证落盘 → 票态轮询 → 命中"立即购买" → orderConfirm 生成订单 → createOrder 提交 → 输出支付宝支付链接
登录凭证落盘。Selenium 打开大麦登录页,你用账号密码或扫码完成登录,cookie 写入本地 cookies.pkl,浏览器从此退场。逻辑在 tools.py 的 account_login 里。
票态轮询。Automatic_ticket_purchase.py 的 step1_get_order_info 用 requests 查 detail.damai.cn 返回的 sku 按钮状态:看到"即将开抢"就继续轮询,"缺货登记"直接退出。
生成订单。命中"立即购买"后,step2_click_buy_now 请求 buy.damai.cn/orderConfirm 并解析页面返回的订单数据,所需接口参数由 tools.py 的 get_api_param 从大麦前端 JS 里动态提取。
提交下单。step3_submit_order 先校验观演人列表与平台登记信息一致,再 POST 到 createOrder 接口,成功后把支付宝支付链接打印到控制台。
选座分支。按钮状态为"选座购买"时走另一条路:拉取座位图、过滤出目标价位的可售座位,由 pick_seat 按遍历顺序挑出与人数一致的座位再下单。当前仅支持同价位选座,不支持连坐,也不保证相邻。选座接口需要 sign 签名,算法在 signcode.js,由 tools.py 中的 execjs 执行。
🚀 跑起来:4 步装好大麦网自动抢票脚本
克隆仓库。拿到全部源码。
git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase安装依赖。requirements.txt 只有 requests、selenium、beautifulsoup4、pyexecjs 共 4 个包,一条命令装完。
pip install -r requirements.txt放置驱动。登录要驱动一个真实浏览器,自行下载与本机 Chrome 版本匹配的 chromedriver,重命名为chromedriver_windows(Linux 用_linux、macOS 用_mac)放进项目根目录,tools.py 会按系统自动查找。
改参数并启动。修改__init__里的 6 个参数(见下节表格),然后运行。
python Automatic_ticket_purchase.py偏好扫码登录就加--mode qr参数。首次登录成功后 cookie 存入 cookies.pkl,之后运行直接复用。
📐 必改配置清单:大麦网自动抢票脚本 6 个参数怎么填
6 个参数都在 Automatic_ticket_purchase.py 的__init__方法里。
| 参数名 | 作用 | 取值来源 |
|---|---|---|
| login_id | 大麦登录账号 | 账号登录方式才需要,填你的大麦账号 |
| login_password | 大麦登录密码 | 同上 |
| item_id | 演出商品编号 | 详情页 URL 中 id= 后面的数字 |
| viewer | 观演人姓名列表 | "常用购票人管理"里已登记的姓名,一字不差 |
| buy_nums | 购买张数 | 必须等于 viewer 列表的人数 |
| ticket_price | 目标票价 | 你要抢的那档价格,如 180 |
易错点:buy_nums 必须等于 viewer 长度,不一致会在入口处直接退出;同一演出在不同城市的 item_id 不同,以你要抢的场次为准。
🎯 实战场景走一遍:普通票与选座两条路
普通票抢票(目标:开售瞬间买下指定价位的 2 张票)。前提是首次登录成功、cookies.pkl 已就位。把 item_id、ticket_price 填成目标场次和价位,viewer 写 2 个已登记观演人,buy_nums 填 2。启动后脚本在后台轮询,状态翻成可售即自动走完下单流程,控制台打印支付宝支付链接。看到链接后尽快去付款,未付款的订单不会保留。
选座购买(目标:自动抢到指定价位的座位)。参数同样只改 6 项,ticket_price 指定要抢的座位价位。脚本拉座位图、过滤该价位的可售座位,按遍历顺序挑 2 个提交下单。注意它只支持同价位选座、不支持连坐,挑出的座位不保证相邻。
🔧 踩坑速查:5 个高频问题的三行解法
现象:控制台提示"登录失败,请检查登录账号信息"。根因:账号密码错误,或 cookies.pkl 已过期。处置:删除 cookies.pkl,改用
--mode qr重新扫码登录。现象:浏览器起不来,报 selenium 相关错误。根因:驱动缺失、版本与 Chrome 不匹配或命名不对。处置:下载匹配版本的驱动,重命名为
chromedriver_windows(或_linux、_mac)放入根目录。现象:提示"购买数量与实际观演人数量不符"。根因:buy_nums 与 viewer 长度不一致。处置:把两者改成相等后再运行。
现象:提示"请检查输入的观演人信息与大麦网观演人信息是否一致"。根因:viewer 姓名与平台登记信息有出入,多了字符或空格。处置:对照"常用购票人管理"逐项核对,去掉多余空格。
现象:提示"获取购买必备参数异常"。根因:大麦前端 JS 更新,get_api_param 的解析失效。处置:项目已停止维护,需自行对照最新前端逻辑修改。
🔭 下一步可以做什么:3 个可落地的方向
- 抓包大麦 App 的移动端下单接口,补全手机端下单链路,让脚本真正可用。
- 把票态轮询抽成定时任务,开售前提前值守并接入桌面通知,减少空转。
- 照着 get_api_param 的写法,练习从压缩前端 JS 中提取接口参数,形成可复用的接口分析套路。
仓库采用 MIT 许可证,仅限个人学习参考。使用前请确认遵守大麦网服务条款,账号密码与 cookies.pkl 不要离开自己的设备,禁止用于商业转售。
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考