news 2026/10/21 22:19:11

大麦自动抢票:3步跑通这个脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大麦自动抢票:3步跑通这个脚本

大麦自动抢票:3步跑通这个脚本

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

开售前 10 秒你还在刷页面,"立即购买"灰得比谁都快。手速再快也赶不过页面刷新。Automatic_ticket_purchase 是个大麦自动抢票脚本:登录一次后,它持续轮询票务状态,目标票价可购的瞬间直接走接口提交订单,全程不碰页面。

先说清定位:它替你省了哪几步

这是一个"登录走浏览器、其余全走接口"的 Python 脚本,不是逐按钮点击页面的机器人。登录完成后所有抢票动作都是直接 HTTP 请求,不等页面渲染。先说一个事实:仓库 README 声明项目已停止维护,且大部分购买入口已迁到手机端,如果大麦接口有变,解析逻辑需要你自己调。以下内容按它当前的形态讲怎么用。

  • 登录状态复用:首次登录结果存进cookies.pkl,之后每次运行跳过浏览器登录这步,直接进入轮询。
  • 状态轮询:"即将开抢"时循环不停,按钮变成"立即购买"就推进下单,省掉你盯页面刷新的操作。
  • 定向票价:只抢ticket_price指定的那个价位,省掉"刷页面直到自己想买的档位放出"的运气。
  • 自动选座:选座购买的场次会按价位自动过滤并挑座位,不用你手动在选座页点选。

跑通主流程:从克隆代码到登录成功 🚀

第 1 步:拿代码、装依赖

git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase cd Automatic_ticket_purchase pip install -r requirements.txt

依赖只有 4 个,见 requirements.txt。注意pyexecjs要求本机装过 Node.js,因为选座流程要在本地执行 signcode.js 生成签名参数,没装 Node 的话选座场次会失败。

第 2 步:准备 ChromeDriver

只有登录环节用浏览器。tools.py 按操作系统找驱动文件:Windows 找chromedriver_windows,Linux 找chromedriver_linux,其他系统找chromedriver_mac,都默认在项目根目录。去 ChromeDriver 官方渠道下载与你本机 Chrome 版本对应的驱动,重命名成上面三个名字之一,放进项目根目录。

提示:到这里如果弹窗后浏览器闪退、或脚本报WebDriverException,大概率是驱动版本和浏览器版本不匹配,回到这一步换对应版本的驱动。

第 3 步:填账号与抢票参数

打开 Automatic_ticket_purchase.py,在DaMaiTicket类的__init__方法里是全部要填的参数:login_id、login_password(账号密码登录才需要改),以及item_id、viewer、buy_nums、ticket_price,去哪找、怎么填见下一节。

提示:填真实账号前可以先用默认占位值跑一次验证环境——终端打印"登录失败, 请检查登录账号信息",说明依赖和 ChromeDriver 都已就位。

第 4 步:运行

# 默认:账号密码登录 python Automatic_ticket_purchase.py # 或者扫码登录 python Automatic_ticket_purchase.py --mode qr

首次运行会弹出 Chrome 窗口,代码会最多等 180 秒让登录完成。到这里你应该看到项目目录多出一个cookies.pkl文件,这是登录成功的标志;如果没有,看后面"排查报错"一节。后续每次运行都会直接读这个文件,不再弹浏览器。开售后脚本轮询到目标价位可购,会打印"抢票成功, 请前往 大麦网->我的大麦->交易中心->订单管理 确认订单"并附上alipayOrderId,你去支付即可;如果打印"手慢了,该票价已经售空",说明这轮没抢到。

配置抢票参数:item_id、viewer、buy_nums、ticket_price 🔧

item_id:最关键的数字

  • 在哪找:打开目标演出详情页,看浏览器地址栏,id=后面那串数字就是。
  • 填什么:纯数字,每个城市站是独立商品,item_id不同。
  • 填错的典型报错:接口返回空内容,脚本在获取票务信息一步抛 JSON 解析异常,或报KeyError: 'perform',直接退出。

viewer:观影人

  • 在哪找:大麦网"我的大麦 → 常用购票人管理"页面。
  • 填什么:把网站上的姓名原样抄进列表,多人就写多个,如['张三', '李四']。
  • 填错的典型报错:提交订单时打印"请检查输入的观演人信息与大麦网观演人信息是否一致",订单不会发出,多半是多了空格或大小写不一致。

buy_nums:购买数量

  • 在哪找:你自己要买几张票。
  • 填什么:整数,必须和viewer列表里的姓名个数一致。
  • 填错的典型报错:启动即打印"购买数量与实际观演人数量不符"并退出,一个请求都不会发。

ticket_price:目标票价

  • 在哪找:演出详情页显示的各档位价格。
  • 填什么:与页面一致的数字,如180。
  • 填错的典型现象:填的值和页面任何档位都对不上时脚本不报错,会按页面第一个档位去匹配,可能抢到你没想买的价位。

调优运行:开抢前预热cookie与同步系统时间 ⚙️

1. 开抢前 1~2 天预热登录态

默认行为:没有cookies.pkl的每次运行都要弹浏览器走登录,多花十几秒。改法:开抢前一天完整跑一次成功登录,把cookies.pkl存好,抢票当天脚本跳过浏览器直接进轮询。如果发现登录态已过期,删除cookies.pkl重新登录——这步要提前做,别拖到开抢当天。

2. 用扫码登录,不留密码在代码里

默认行为:--mode account把login_password明文写在代码文件中。改法:运行python Automatic_ticket_purchase.py --mode qr,在弹出的浏览器里扫码登录,密码不落地。两种方式的登录结果都存进cookies.pkl,之后行为完全一样。

3. 开抢当天同步一次系统时间

默认行为:请求参数里的时间戳取本机时间。本机时间偏差过大时,选座接口的签名校验可能失败。改法:开抢当天早上用系统自带的时间同步(Windows 搜"时间同步",Linux 用ntpdate或systemd-timesyncd)对一次 NTP 时间。

排查报错:ChromeDriver不匹配、cookies登录失败等高频问题 📋

现象最可能原因怎么解决
Chrome 弹窗即关,或WebDriverExceptionChromeDriver 版本与本机 Chrome 不匹配下载对应版本驱动,重命名为chromedriver_windows/chromedriver_linux/chromedriver_mac放项目根目录
"登录失败, 请检查登录账号信息"cookies.pkl过期,或账号密码错误删除cookies.pkl重跑,改用--mode qr登录更稳
"购买数量与实际观演人数量不符"buy_nums与viewer名单条数不一致把buy_nums改成和列表相同的个数
"请检查输入的观演人信息与大麦网观演人信息是否一致"姓名与网站常用购票人有空格、大小写差异从"常用购票人管理"原样复制姓名
JSON 解析异常,或KeyError: 'perform'item_id填错,或大麦前端 JS 更新导致 tools.py 里get_api_param()的正则失配先核对 URL 里id=参数;确认无误后对照 CDN 返回的 JS 内容调整源码里的解析规则

提示:最后一行需要特别注意——项目已停止维护,遇到正则失配没有"升级依赖就修好"的路径,只能按当前 JS 自己改,这也是维护这个脚本最费工的地方。

守住使用边界

本工具仅限个人学习研究,使用本人账号,勿用于倒卖;保持常规请求频率,高频轮询可能触发平台风控。仓库为 MIT License,作者不对商业用途承担责任。

想同时盯多场演出,可为每个item_id各起一个脚本实例,或用系统定时任务在开售前自动启动,这是这个脚本顺手的扩展方向。

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/19 6:25:29

OpenStack PortBindingFailed排查:Provider Network实例创建失败全解析

只要手动搭过 OpenStack,多少都见过这个画面:明明 provider network 创建成功,subnet 也都是 ACTIVE,结果 openstack server create 一执行,实例状态直接变成 ERROR,fault 里写着 PortBindingFailed: Bindi…

作者头像 李华
网站建设 2026/10/21 12:11:18

电子信息夏令营选拔的四大隐形能力:建模、工程、协同与拆解

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/18 6:32:16

Zero 框架 Python 后端开发实战:用 .py 文件定义 API 端点全指南

后端 【免费下载链接】zero Zero is a web server to simplify web development. 项目地址: https://gitcode.com/gh_mirrors/ze/zero 点击查看 免费下载 导读 本文深入讲解开源 Web 开发框架 Zero 的 Python 支持能力:开发者只需在项目目录中放置一个…

作者头像 李华
网站建设 2026/10/21 17:04:34

浪潮NF5280M5服务器运维全攻略:BIOS、RAID、固件升级与故障排查

简介:本资源为浪潮NF5280M5服务器的官方用户手册PDF,面向数据中心运维、企业IT及技术支持工程师,用于掌握该机型的规格配置、硬件拆装、固件操作与故障诊断流程。手册版本为V2.8,更新至2024年7月,内容涵盖安全声明、产…

作者头像 李华