在热门演出售罄之前,让脚本替你按下"立即购买" —— 大麦自动抢票脚本 Automatic_ticket_purchase 完整实操
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
开售按钮从"即将开抢"变成"立即购买"的瞬间,热门场次的票往往十几秒内就被清空:人工"刷新页面→看到票→点击→填信息"这一串动作要10 秒以上,而脚本只需几个 HTTP 往返。Automatic_ticket_purchase 是一个大麦网自动抢票脚本——登录一次后,它用 requests 持续查询目标场次的余票状态,一旦按钮变为"立即购买"就自动完成选票、选观众、提交订单。下面四步,你就能在自己的电脑上把它跑起来。
🚀 大麦自动抢票脚本为什么快
快的核心就一件事:只有登录走真实浏览器,其余步骤全程不碰页面。就像一位老店员——刷工牌进店(Selenium 完成登录)之后就不再逛货架,他背下了每件货的仓库地址(item_id),有货时直接进仓库取(requests 打接口下单);每笔请求附带的签名,由 signcode.js 在本地实时算出,算法和官方网页前端一致,服务端无法分辨。登录成功后 cookies 会存进 cookies.pkl,之后每次启动像刷工牌一样直接复用。
| 环节 | 人工抢票 | 本脚本 |
|---|---|---|
| 登录 | 账号+密码,还可能遇到滑块,30 秒+ | 首次浏览器登录,之后复用 cookies.pkl,秒级 |
| 查余票 | 手动刷新页面用眼盯,单次 3-5 秒 | requests 直查票务接口,毫秒级循环 |
| 选票与观众 | 逐场次点击、手输姓名,10 秒+ | 参数预先写好,0 秒 |
| 提交订单 | 取决于你点得快不快 | "立即购买"出现的瞬间即发下单请求 |
🛠️ 抢票脚本从 0 跑起来:环境与首次运行
四步大约 10 分钟,你能看到登录页面弹在眼前。
- 环境要求:Python 3.x 与一个 Chrome 浏览器。项目依赖均为较老但稳定的版本(selenium 3.141、requests 2.24.0 等),Python 3.8~3.10 最稳妥。
- 拿代码并安装依赖:
git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase cd Automatic_ticket_purchase pip install -r requirements.txt避坑:下载慢时,给 pip 加-i指定国内镜像源。 3. 配置浏览器驱动:下载与你 Chrome 版本匹配的 ChromeDriver,按系统重命名为chromedriver_windows、chromedriver_mac或chromedriver_linux,放到项目根目录。
避坑:驱动文件名必须严格按平台约定,Selenium 找不到它会直接报错——这是新手第一道坎。 4. 填写核心抢票参数,位于 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 # 目标票价档位- 首次运行:
python Automatic_ticket_purchase.py # 账号密码登录 python Automatic_ticket_purchase.py --mode qr # 扫码登录避坑:第一次没有 cookies.pkl,必须过登录页面;登录成功后自动保存,之后启动无需再登录。
🎤 换场景实战:不同场次怎么抢
同一套参数,三种玩法,对应三类场次。
场景一:常规开票演出
- 背景:热门巡演开票十几秒售罄,你要锁定某城市场次的某个价位。
- 关键参数:
item_id取页面地址栏id=后面的数字;ticket_price填目标档位;buy_nums = 1;viewer填你的常用购票人。 - 预期效果:"即将开抢"期间持续轮询,按钮一变"立即购买"就自动走完下单流程并打印支付链接。
场景二:选座购买场次
- 背景:部分场次只出现"选座购买"按钮,必须抢到具体座位才行。
- 关键参数:
item_id+ticket_price(脚本自动匹配该价位的座位数据);viewer与buy_nums必须一一对应,姓名要和网站常用购票人完全一致。 - 预期效果:脚本筛出该价位全部可售座位,挑到第一个可用组合即确认选座并创建订单。
场景三:开售前的长等待
- 背景:场次离开票还有几天,你不想每次调试都重新登录。
- 关键参数:首次用
--mode qr扫码登录,生成并保留 cookies.pkl。 - 预期效果:后续运行直接复用登录态,全程只登录一次。
🔧 进阶调优:参数调整与常见问题对照
开售前你主要调两样东西:时机和网络。
- 时机:开售前 1-2 分钟启动即可,"即将开抢"阶段脚本在 while 循环里自动空转等待,不用你手动掐点。
- 网络:有线优于 Wi-Fi,关掉占带宽的程序,往返时间越低,"立即购买"出现的瞬间你越先发出请求。
- 登录态保鲜:cookies.pkl 失效时脚本会提示登录失败,删掉文件重新登录即可恢复。
- 现实提醒:README.md 标注项目已停止维护,部分购买流程已迁移至手机端;若某一步接口解析失败,需要自行抓包对照移动端 mtop 接口。
| 常见问题 | 应对 |
|---|---|
| 浏览器无法启动 / 找不到驱动 | 检查驱动是否在根目录、命名是否符合平台约定 |
| 提示"登录失败" | 删除 cookies.pkl 重新登录,或改用--mode qr扫码 |
| "购买数量与实际观演人数量不符" | 让buy_nums与viewer列表长度一致 |
| "请检查输入的观演人信息与大麦网观演人信息是否一致" | 姓名须与"常用购票人管理"中完全一致 |
| 提示"该票价已经售空"或接口解析报错 | 该价位确实售罄;或接口已变更,需抓包对照 |
🌱 参与共建:新手能上手的 3 个方向
项目处于维护暂停状态,意味着贡献方向清晰、竞争少。
- 移动端接口适配:最紧迫的需求——购买流程在向手机端迁移,适配移动端 mtop 接口可直接让脚本复活。
- 选座策略增强:目前是顺序挑第一个可用座位,不支持连坐;可以做偏好区域、相邻座位算法。
- 登录鲁棒性:优化登录时的滑块与风控应对,让 cookies 过期后能自动续期。
贡献流程:Fork 项目 → 创建分支 → 提交修改 → 发起 Pull Request。
跑通这个项目,你一次性练会了 Selenium 浏览器登录、用 requests 绕过页面直调 Web API、用本地 JS 计算请求签名这三项硬功夫——它本身就是一份"接口分析到自动化"的完整样本。请把它当作个人学习工具,遵守平台规则、用于自己合法购票的需求,别拿去做倒卖。现在就去挑一场想看的演出,把 item_id 填进去,看看开售那一刻谁先按下"立即购买"。
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考