☰
大麦抢票脚本 Automatic_ticket_purchase 完整使用指南:从安装到出单
2026/10/18 23:43:47 网站建设 项目流程

大麦抢票脚本 Automatic_ticket_purchase 完整使用指南:从安装到出单

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

抢票开闸那一刻,你连"立即购买"都没点下去,按钮已经变成"已售罄"。自动抢票脚本 Automatic_ticket_purchase 就是为这个场景写的:它替你登录大麦账号、盯着指定演出的票务状态,按钮一变"立即购买"就直接调用下单接口,最后把支付宝支付链接打到终端上。手速不够,接口来凑。

它是怎么个"自动"法

一句话定义:这是一个基于接口分析的 Python 脚本(当前 V2.1 版本),只在登录环节打开浏览器,其余动作全部用 requests 直连大麦的接口请求完成,省掉了等页面加载的时间。

核心能力:

  • Selenium 打开大麦登录页,支持账号密码登录和扫码登录两种方式
  • 登录成功后把 cookies 存成本地 cookies.pkl,下次运行免登录
  • 循环轮询票务状态,识别"即将开抢 / 立即购买 / 选座购买 / 缺货登记"四种按钮
  • "立即购买"和"选座购买"两条下单链路都支持
  • 抢单成功后打印订单号 alipayOrderId 和支付宝支付链接

跑之前先把这三样装好

  1. 克隆代码并安装依赖:
git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase pip install -r requirements.txt

依赖锁定在 selenium 3.141.0 和 requests 2.24.0 这类老版本,后面下 ChromeDriver 时要注意版本匹配。

  1. 下载与你系统 Chrome 匹配的 ChromeDriver 文件。
  2. 把下载的文件放到项目根目录,并按系统重命名,脚本靠文件名区分平台:
你的系统重命名为
Windowschromedriver_windows
Linuxchromedriver_linux
macOSchromedriver_mac

改错名字或放错位置,启动浏览器那一步会直接报错。

六个参数怎么填

打开 Automatic_ticket_purchase.py,文件开头的__init__里就是全部需要配置的参数:

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 # 购买指定票价

逐个说明:

参数含义填写要点
login_id / login_password大麦登录账号、密码走扫码登录时可以不关心
item_id演出商品的 ID见下面的取法
viewer观演人姓名列表必须是账号里已存在的常用购票人,一字不差
buy_nums购买张数必须等于 viewer 列表的长度
ticket_price只抢这个价位(元)填错档位会抢不到

item_id 的取法:在大麦网打开目标演出的详情页,地址栏里id=后面的那串数字就是:

viewer 的取法:登录后进"我的大麦"→ 常用购票人管理,把已经填好的购票人姓名原样抄下来。名字只要差一个空格或生僻字写法,下单时就会被拦下:

运行命令与正常输出长什么样

python Automatic_ticket_purchase.py # 默认账号密码登录 python Automatic_ticket_purchase.py --mode qr # 改为扫码登录

首次运行会弹出一个 Chrome 窗口走登录流程,登录成功后终端继续往下跑,并生成 cookies.pkl——以后运行直接读它,不再弹浏览器。

接下来脚本进入轮询,三种正常走向:

  • 看到"即将开抢":脚本静默继续,这是抢票前的等待期,属正常现象
  • 看到"手慢了,该票价已经售空":这个价位没了,直接退出
  • 看到"抢票成功, 请前往 大麦网->我的大麦->交易中心->订单管理 确认订单":后面跟着 alipayOrderId 和支付宝支付链接,去支付即可

背后机制:从登录到出单的四步

  1. 登录与校验。Selenium 打开大麦登录页完成登录,然后请求"我的大麦-个人信息"页面,标题对上才认定登录成功,接着把 cookies 存成 cookies.pkl。
  2. 轮询票务状态。循环请求票务信息接口,读购买按钮的文字:即将开抢就继续等,缺货登记就结束,立即购买走普通购买,选座购买走选座流程。
  3. 选座(仅选座场次)。请求座位图,先按目标价位过滤,再剔除不可售座位,最后按 buy_nums 挑出对应数量的座位。注意只支持单一价位,不支持连坐。
  4. 核对观演人并提交订单。下单前会把填的 viewer 和大麦账号里实际的购票人名单做交集比对,全部命中才提交 createOrder 请求;成功则打印订单号与支付链接。

文件分工上,主流程在 Automatic_ticket_purchase.py;登录、cookies 读写、接口参数解析、座位筛选等辅助逻辑都在 tools.py;选座接口要求的 sign 校验值由 signcode.js 计算得出。

常见问题速查

现象原因解决
提示"登录失败"账号密码错误,或缓存的 cookies 已失效核对账号密码;若走的是缓存登录,删除 cookies.pkl 重新运行
提示"购买数量与实际观演人数量不符"buy_nums 不等于 viewer 列表长度买 2 张就填 2 个观影人,两个参数保持一致
提示"请检查输入的观演人信息与大麦网观演人信息是否一致"viewer 里的名字与常用购票人管理的姓名不完全一致去常用购票人管理里把姓名原样复制粘贴进 viewer
启动浏览器时报错或找不到驱动ChromeDriver 未放在根目录或没按系统重命名对照前面的命名表检查文件名
提示"获取购买必备参数异常"大麦 JS 更新后,get_api_param() 解析的正则失配需要按最新的接口返回手动修改该函数内的解析代码

适合谁用,又不能用在哪

适合的场景:

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

已知限制:

  • README 已声明停止维护,暂无更新计划
  • 大部分购买方式已迁移至手机端,需抓包才能适配
  • 依赖是旧版本(selenium 3.141、requests 2.24),ChromeDriver 需与之一致
  • 大麦 JS 代码更新后,get_api_param() 可能失效需要自行修改

合规红线:项目采用 MIT 许可,README 声明仅用于个人参考学习——别拿它批量囤票转卖,也别用它去挤占别人的购票机会。

最后说句实话

Automatic_ticket_purchase 的价值在于用"接口直连 + 登录态复用"把从点购买到提交订单的链路压到最短。它适合想自己抢一张票、同时想搞懂 requests 与 Selenium 怎么配合的普通用户;如果你的目标场次早已搬到手机端购买,它大概率帮不上忙。

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询