ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

大麦网自动抢票脚本:6 个参数 + 4 步部署,开售瞬间自动下单

大麦网自动抢票脚本:6 个参数 + 4 步部署,开售瞬间自动下单

大麦网自动抢票脚本: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 个高频问题的三行解法

  1. 现象:控制台提示"登录失败,请检查登录账号信息"。根因:账号密码错误,或 cookies.pkl 已过期。处置:删除 cookies.pkl,改用--mode qr重新扫码登录。

  2. 现象:浏览器起不来,报 selenium 相关错误。根因:驱动缺失、版本与 Chrome 不匹配或命名不对。处置:下载匹配版本的驱动,重命名为chromedriver_windows(或_linux、_mac)放入根目录。

  3. 现象:提示"购买数量与实际观演人数量不符"。根因:buy_nums 与 viewer 长度不一致。处置:把两者改成相等后再运行。

  4. 现象:提示"请检查输入的观演人信息与大麦网观演人信息是否一致"。根因:viewer 姓名与平台登记信息有出入,多了字符或空格。处置:对照"常用购票人管理"逐项核对,去掉多余空格。

  5. 现象:提示"获取购买必备参数异常"。根因:大麦前端 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),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进