大麦抢票脚本教程:5分钟跑通的Python自动抢票完整指南
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
开抢的那一秒,网页上的"立即购买"还没等你点下去,就已经变成了"缺货登记"。这就是大麦网抢票的现实:手速再快,也快不过毫秒级的竞争。而这个开源的大麦抢票脚本(Automatic_ticket_purchase),用 Python 替你把登录、盯票、下单整条链路自动跑完——你唯一要做的,是看到支付链接后按下去。
这不仅仅是速度的提升,更是策略的升级:从"拼手速"变成"拼准备"。
它能帮你做什么
账号与状态缓存机制
登录只占用一次页面,之后全靠缓存。脚本支持账号密码和扫码2 种登录方式,登录成功后 cookies 会自动保存到本地cookies.pkl文件。
- 再次运行时直接读取缓存,跳过登录环节
- 登录状态会自动校验,失效才会提示你重新登录
票务状态监控机制
脚本会循环轮询你目标票档的按钮状态,一共 4 种:
- 即将开抢:继续等待,进入待命状态
- 缺货登记:直接判定卖空,提前退出
- 立即购买 / 选座购买:触发下单流程
接口级秒级下单流程
这是它和"点点按钮"的老版本最大的区别。登录后所有操作都不再等页面渲染,而是直接通过requests 接口调用完成:拉取商品参数、确认订单、提交下单,一步不落。下单成功后,终端会直接打印订单号和支付宝支付链接。
选座购买支持(V2.1 新增)
支持抢购指定票价下的座位,自动从可售座位里挑出你要的数量并下单。
- 只支持一种目标价位
- 暂不支持连坐购买
从零跑通:5分钟完成部署与配置
全程 6 步,跟着做即可。
第 1 步:确认 Python 环境
脚本基于 Python 3 开发,先检查版本:
python --version第 2 步:获取项目代码
git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase cd Automatic_ticket_purchase第 3 步:安装依赖
依赖只有 4 个包(selenium、requests、beautifulsoup4、pyexecjs):
pip install -r requirements.txt第 4 步:准备 ChromeDriver
脚本登录环节用 Selenium 驱动 Chrome,需要手动放一个与你系统匹配的 chromedriver 到项目根目录,并按操作系统重命名:
| 系统 | 文件命名 |
|---|---|
| Windows | chromedriver_windows |
| Linux | chromedriver_linux |
| macOS | chromedriver_mac |
版本要与本机 Chrome 浏览器匹配,放错版本是最常见的登录报错原因之一。
第 5 步:配置抢票参数
打开 Automatic_ticket_purchase.py,找到__init__里的 5 个参数,这是整个脚本唯一必须改的地方:
self.login_id: str = 'account' # 大麦网登录账户名 self.login_password: str = 'password' # 大麦网登录密码 self.item_id: int = 610820299671 # 商品ID,每场演出唯一 self.viewer: list = ['viewer1'] # 已添加的观演人姓名,需与账号内一致 self.buy_nums: int = 1 # 购票数量,必须与观演人数量一致 self.ticket_price: int = 180 # 目标票价商品ID怎么找?打开大麦网目标演出页面,看浏览器地址栏里的id=参数,那串数字就是:
图:大麦网演出页面地址栏中的 id 参数,即配置所需的 item_id
观演人怎么填?viewer列表必须与你大麦账号"常用购票人管理"里的姓名一字不差,买 2 张票就写 2 个名字:
图:大麦网常用购票人管理界面,viewer 配置需与图中姓名完全一致
第 6 步:运行脚本
# 默认:账号密码登录 python Automatic_ticket_purchase.py # 扫码登录(推荐,更稳) python Automatic_ticket_purchase.py --mode qr首次运行会弹出浏览器让你完成登录(扫码模式下登录等待最长 180 秒)。登录后 cookies 落盘,后面再跑就是"秒进待命"状态。
底层机制拆解:脚本是如何抢票的
整个流程可以拆成 5 个阶段,登录用页面,抢票全走接口:
| 阶段 | 功能 | 关键技术 |
|---|---|---|
| 登录认证 | 打开登录页完成登录,cookies 缓存到本地 | Selenium + ChromeDriver |
| 状态校验 | 请求个人中心,确认登录有效 | Requests + BeautifulSoup |
| 参数准备 | 拉取大麦前端 JS 提取接口参数;选座接口的 sign 签名本地计算 | 正则解析 + signcode.js(execjs 执行) |
| 状态监控 | 轮询目标票档按钮状态,开抢即触发 | 循环请求 + 状态判断 |
| 下单支付 | 确认订单页取数据、校验观演人、提交 createOrder | Requests 接口调用 |
核心逻辑都在 Automatic_ticket_purchase.py 的主类里,接口细节和参数解析在 tools.py,选座接口的签名算法独立放在 signcode.js。想深入原理,按这三个文件读就够了。
一句话总结:登录走浏览器,抢票走接口,缓存省重复,签名过校验——这就是它能比手动快一个量级的原因。
提前说明一点:作者在仓库中已声明该项目停止维护,大麦的部分购买链路后来迁移到了手机端,若跑不动多半是接口变动,需要自行对照最新接口适配(这本身也是很好的学习材料)。
不同人群怎么用
演唱会爱好者 🎤
适合周杰伦、Taylor Swift 这类开售即秒空的顶级场次。
- 开抢前 30 分钟先跑一次
--mode qr完成登录,让 cookies 缓存生效 - 提前把
item_id、ticket_price配好,开抢瞬间只做"开抢检测"这一件事 - 如果同价位有多场演出,可以分别改配置、准备多份脚本
体育赛事观众 ⚽
适合 NBA 中国赛、格斗赛事等有明确开售时间的场次。
- 按放票时间提前进入待命,脚本轮询本身就是"闹钟+手速"
- 低价位票往往更紧俏,
ticket_price建议先盯最易抢的价位
剧场/展览观众 🏛️
适合话剧、限定展等观演人强实名场次。
- 这类场次几乎强制实名,
viewer配置必须与证件信息严丝合缝 - 建议用注册时间更久的账号,提前完善个人信息和收货地址
成功率提升技巧
1. 把登录从关键路径上移除
这是性价比最高的一招:
- 开抢前提前运行一次脚本,完成登录
- 确认项目根目录生成了
cookies.pkl - 正式开抢时脚本直接读缓存,登录环节从"零"开始
2. 硬件与网络准备
- 优先有线网络,避免抢票瞬间 Wi-Fi 抖动
- 关掉无关的下载和后台任务,把网络带宽留给脚本
- 校准系统时间,与服务器时间保持一致(签名和时间戳类参数对时间敏感)
3. 账号信息一次备齐
- 观演人姓名、证件信息提前添加并核对
- 常用收货地址提前保存
- 多备 2-3 个账号,把个人信息都填完整,作为轮换的后备
工具链整合
- 定时任务:用 crontab(Linux/macOS)或任务计划程序(Windows)在放票时间点自动拉起脚本,连"记得开脚本"这件事都交给系统
- 通知提醒:脚本下单成功会打印订单号和支付链接,可以把终端输出接到微信机器人或 Bark 之类的推送工具,手机实时收到"去付款"提醒
- 日志留存:给运行命令加
tee落一份日志,方便复盘每次开抢的实际耗时和失败原因
踩坑速查
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 登录失败或页面卡住 | 账号密码错误 / 触发了滑块验证 | 改用--mode qr扫码登录 |
| 提示登录失败,但账号没问题 | cookies.pkl已过期 | 删除该文件后重新登录 |
| 浏览器无法启动 | ChromeDriver 版本或命名不对 | 按系统重命名并更换匹配的 chromedriver 版本 |
| 一直等待、拿不到票务信息 | item_id配错或该场次参数不对 | 回演出页地址栏重新核对id参数 |
| 下单失败,提示观演人不一致 | viewer与账号内姓名不匹配 | 对照"常用购票人管理"逐字核对 |
| 接口报错、整体跑不动 | 项目停止维护,大麦接口已调整 | 对照抓包结果自行适配最新接口 |
写在最后
把登录、盯票、下单这些机械动作交给脚本,把时间留给选座和付款,这就是自动抢票的全部意义。配置 5 个参数、跑通一条命令,5 分钟就能进入待命状态——现在就动手试试,开启你的自动抢票之旅吧。
温馨提示:本工具仅供学习与交流使用,请遵守相关法律法规及平台规则,理性购票,共同维护良好的票务市场环境。
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考