ARTICLE · INTELLIGENCE

战地情报 · 详情页

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

大麦自动抢票脚本完整指南:三步跑通 Automatic_ticket_purchase

大麦自动抢票脚本完整指南:三步跑通 Automatic_ticket_purchase

大麦自动抢票脚本完整指南:三步跑通 Automatic_ticket_purchase

【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase

热门演出开票,你点进页面的那一刻按钮往往已经变成"缺货登记"——这就是这个脚本要解决的麻烦。Automatic_ticket_purchase 是一个面向 PC 端大麦网的大麦抢票脚本(当前 V2.1):它替你完成账号登录,盯住指定场次的票务状态,等你指定的票价档位放出可买名额时,自动走完下单流程并打印支付宝支付链接。你要做的,只是守在屏幕前,最后手动付掉那笔款。

🎫 它能做什么:全程走接口,不等页面渲染

一句话概括:登录环节借浏览器,其余环节全部 requests 直连接口,把等待页面加载的时间整个省掉。

核心能力清单:

  • Selenium 打开大麦登录页,账号密码、扫码两种方式都能走
  • 登录后的 cookies 存成本地文件,下次运行直接复用,免登录
  • 循环轮询票务状态,按钮变"立即购买"才触发下单,不空耗
  • 同时覆盖"立即购买"和"选座购买"两条主流程
  • 选座场次自动拉取座位图,筛出目标价位且可售的座位再下单
  • 抢单成功后打印 alipayOrderId 和支付宝支付链接,直接去付钱

技术栈一句话带过:Python + selenium 3.141 + requests 2.24 + execjs,依赖偏旧,环境要留意版本匹配。

⚙️ 从零到跑通:四步完成大麦抢票脚本安装与首次运行

  1. 拉代码、装依赖
git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase pip install -r requirements.txt # 安装 requirements.txt 里的四个依赖
  1. 准备 ChromeDriver。下载与你系统匹配的驱动文件,按系统重命名后放进项目根目录:Windows 用chromedriver_windows,Linux 用chromedriver_linux,macOS 用chromedriver_mac。脚本按文件名找驱动,名字不对就会启动失败。

  2. 改配置参数。打开 Automatic_ticket_purchase.py,找到开头的参数区:

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 # 目标票价档位

逐个说清楚怎么填:

  • item_id:打开目标演出详情页,看浏览器地址栏,id=后面那串数字就是
  • viewer:填大麦"我的大麦 → 常用购票人管理"里已保存的姓名,一个空格都不能差

  • buy_nums:必须等于viewer列表的长度,买 2 张就写 2 个姓名,多了少了都会报错退出
  • ticket_price:只抢这个价位的票,填错档位脚本会一直空等

  1. 执行
python Automatic_ticket_purchase.py # 账号密码登录,默认 python Automatic_ticket_purchase.py --mode qr # 改成扫码登录

一次抢单的内部流程:五阶段流水线

  1. 拿登录态:先读本地cookies.pkl;没有就起 Selenium 登录。登录完会请求个人信息页做校验,页面标题对不上就提示登录失败,直接终止。
  2. 轮询开抢状态:循环请求票务接口,读按钮文字——"即将开抢"继续等,"缺货登记"说明售空、结束,"立即购买"/"选座购买"分别进入对应分支。
  3. 选座(仅选座场次):拉取座位图和可售状态列表,先按目标价位过滤,再剔掉已售出的座位,按顺序挑出与购买张数相同数量的座位。
  4. 组装订单:请求订单确认接口,把大麦账号里的观演人列表和你填的viewer逐一比对,全部命中才继续。
  5. 提交订单:POST 到 createOrder 接口,success为真时打印订单号与支付链接,去交易中心完成付款。

三个核心文件分工:Automatic_ticket_purchase.py 里的主类承担轮询、选座、提交三步主流程;tools.py 负责登录、cookies 读写和全部接口辅助函数;signcode.js 在本地 Node 环境里计算选座接口要求的 sign 参数。

❓ 遇到问题先看这里:大麦抢票脚本高频报错处理

  • 现象:打印"登录失败"。原因:账号密码不对,或复用的cookies.pkl已过期。处理:先核对凭证;走缓存路径的,删掉cookies.pkl重新登录一次。
  • 现象:"购买数量与实际观演人数量不符"。原因:buy_nums和viewer列表长度对不上。处理:买 2 张就恰好填 2 个观演人,改完再跑。
  • 现象:"请检查输入的观演人信息"。原因:viewer里的名字和大麦常用购票人里的不一致,常见于多敲空格、繁简体不同。处理:打开常用购票人页面逐字对照。
  • 现象:参数解析异常、提示重新解析返回值。原因:大麦前端 JS 更新后,get_api_param()的正则抓不到参数了。处理:需要重新抓包分析 tools.py 里对应函数,这类问题没有万能补丁。

⚠️ 什么时候适合它,什么时候别用

适合的场景:

  • PC 端大麦场次的准点开抢、开票后的补票
  • 指定单一价位的普通票与选座票

已知限制:

  • README 已声明停止维护,暂无更新计划
  • 大部分购买方式迁移到了手机端,PC 脚本覆盖不到,想适配得自己抓包
  • 依赖是旧版本,ChromeDriver 必须与本机浏览器版本匹配
  • 选座购买只支持单一价位,不支持连坐
  • 平台 JS 一更新,接口参数函数就可能要手动修

合规边界照 README 的说法:项目是 MIT 许可,仅限个人参考学习。别拿它批量囤票转卖,也别用它绕过风控去挤占别人的购票机会。

写在最后

Automatic_ticket_purchase 把从按钮点亮到订单提交的全程压到最短,适合想在 PC 端拼一场演出、又想顺手吃透 requests 和 Selenium 的朋友。只要"登录—轮询—下单"这条主线还在,它就仍然是一份扎实的抢票自动化入门样本。

【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

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