大麦网抢票脚本教程:自动化抢票从安装到运行的完整指南
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
Automatic_ticket_purchase 是一个大麦网抢票脚本:基于 Python 的自动化购票工具,Selenium(浏览器自动化工具)负责登录,随后直接请求购票接口,目标场次变为"立即购买"时自动提交订单。你只需配置商品 ID、票价和观影人。
使用须知:项目 README 已声明停止维护,且大部分购买方式已迁移至手机端。开始配置前,请先确认你目标场次的适用性。
01 原理速览:自动化抢票的四步链路
脚本运行后是一个无人值守的循环,可以拆成四步理解:
登录验证 → 获取购票参数 → 轮询票务状态 → 执行购买- 登录与状态校验:优先复用本地 cookies(登录凭证文件
cookies.pkl),没有则通过 Selenium 打开登录页; - 获取购买参数:解析大麦网前端 JS,取出购票接口所需的参数(逻辑在 tools.py 的
get_api_param中); - 状态监控:轮询目标价位的按钮状态——"即将开抢"继续等待,"缺货登记"结束流程,"立即购买"进入抢票;
- 执行购买:依次完成订单确认与订单提交,最后打印订单号和支付宝支付链接。
🚀 02 快速部署:安装命令与最小配置
一键安装命令
git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase cd Automatic_ticket_purchase pip install -r requirements.txt依赖清单 共 4 个库:requests(HTTP 请求)、selenium(浏览器自动化)、beautifulsoup4(HTML 解析)、pyexecjs(执行 JS 代码)。
ChromeDriver 是额外必装项:它是让代码操控 Chrome 的"驱动程序",版本必须与本机 Chrome 一致。下载对应版本后,按操作系统重命名为chromedriver_windows、chromedriver_linux或chromedriver_mac,放到项目根目录。
最小可运行配置
打开 核心脚本,在__init__中修改参数即可(账号密码仅在默认账号登录时需要):
self.item_id: int = 610820299671 # 商品id,每场演出不同 self.viewer: list = ['观影人姓名'] # 大麦网已登记的购票人 self.buy_nums: int = 1 # 购买数量,需与观影人数量一致 self.ticket_price: int = 180 # 指定票价⚙️ 03 配置与运行:参数表与登录方式
参数一览表
| 参数 | 作用 | 获取方式 |
|---|---|---|
login_id/login_password | 账号与密码,仅默认账号登录需要 | 你的大麦网账户信息 |
item_id | 具体场次的唯一标识,不同城市站不同 | 场次页面 URL 中的id参数 |
viewer | 观影人姓名列表,用于下单时勾选购票人 | "我的大麦 → 常用购票人管理"中的姓名 |
buy_nums | 购买票数 | 必须等于viewer列表的姓名个数 |
ticket_price | 目标票价档位,脚本按数值精确匹配 | 场次页面上显示的票价 |
item_id 获取方法
在浏览器中打开目标场次页面,地址栏里id=后面的数字就是 item_id。每个城市站对应不同的值,建议开售前从目标场次实际页面复制并填好:
购票人(viewer)一致性检查
viewer 列表中的姓名必须与你大麦网账户"常用购票人"中的姓名逐字一致。脚本在提交订单前会与服务器返回的购票人列表核对,不一致会直接提示终止。买 2 张票就填 2 个姓名:
扫码登录设置
python Automatic_ticket_purchase.py # 默认:账号密码登录 python Automatic_ticket_purchase.py --mode qr # 扫码登录登录成功后,脚本会把登录状态写入cookies.pkl,下次运行直接复用、跳过登录页,能节省不少时间。登录态过期时删除该文件再重新运行即可。
🔧 04 调优与排错:成功率技巧与常见问题
几个实用技巧
- 优先有线网络:相比 WiFi,有线网络延迟更低、更稳定;
- 对齐时间:确保系统时间与开票时间一致,开票前几分钟同步一次系统时间;
- 提前登录:先运行脚本生成
cookies.pkl,临近开票启动时直接进入监控循环,省去登录页等待; - 认准单一票价:脚本只监控
ticket_price指定的一个价位,想覆盖其他价位需要自行改造代码。
常见问题速查表
| 症状 | 原因 | 解决办法 |
|---|---|---|
| Chrome 无法启动、驱动版本不匹配 | ChromeDriver 版本与浏览器不一致 | 下载对应版本,重命名后放入项目根目录 |
| "购买数量与实际观演人数量不符" | buy_nums与viewer列表长度不一致 | 将两者数量配平 |
| "请检查输入的观演人信息……是否一致" | viewer 与账户常用购票人不完全一致 | 对照常用购票人管理页逐字核对 |
| "登录失败" | cookies.pkl已过期或失效 | 删除该文件,重新运行登录 |
| "获取购买必备参数异常" | 大麦前端页面更新导致解析逻辑失效 | 更新 tools.py 中get_api_param的解析逻辑 |
| "该票价已经售空"(缺货登记) | 目标价位已无票 | 改用其他ticket_price档位或接受结果 |
05 进阶与合规:选座购买与使用边界
V2.1 版本增加了选座购买:针对需要选座的场次,脚本会自动拉取座位数据、按目标价位过滤后依次选取可售座位下单(选座逻辑在 tools.py 的pick_seat中,接口签名由 signcode.js 生成)。注意目前仅支持单一目标价位,且不支持连坐。
合规提示:本项目仅供个人学习与研究使用。使用前请阅读大麦网服务条款;自动化手段高频使用可能违反平台规则并影响自身账户,请勿用于商业倒卖。
✅ 06 行动清单:开抢前完成这 5 件事
- 克隆仓库并执行
pip install -r requirements.txt完成依赖安装; - 下载与 Chrome 版本对应的 ChromeDriver,重命名后放入项目根目录;
- 在 核心脚本 中填好
item_id、viewer、buy_nums、ticket_price,并逐项与网页核对; - 用
--mode qr提前登录,确认项目目录下已生成cookies.pkl; - 开票前 5 分钟检查系统时间、网络,并确认脚本处于等待轮询状态。
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考