news 2026/10/15 8:14:56

大麦自动抢票脚本完整教程:从配置到下单 6 步跑通

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大麦自动抢票脚本完整教程:从配置到下单 6 步跑通

大麦自动抢票脚本完整教程:从配置到下单 6 步跑通

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

开票瞬间页面一直转圈,等你点进去,按钮已经变灰。抢票真拼的是手速吗?开源项目 Automatic_ticket_purchase(大麦抢票脚本 V2.1)给出了另一条路:只在登录环节用 Selenium 打开一次浏览器拿到登录态,之后查票、下单、支付全程走纯 HTTP 请求,把手动十几秒的操作压成两次网络往返。

30 秒判断值不值得用

先说它能做什么:

  • 自动登录:账号密码、扫码(--mode qr)两种方式,登录态存成本地cookies.pkl,下次启动直接复用,不再弹窗登录;
  • 状态轮询:自动识别票档按钮的四种状态——"即将开抢 / 立即购买 / 缺货登记 / 选座购买",开抢瞬间自动转入下单;
  • 自动下单:从查票、生成订单到createOrder提交全自动,成功后打印alipayOrderId和支付宝支付链接,你只管付款;
  • 选座购买:V2.1 新增,但只支持指定单一价位的座位,不支持连坐。

边界直说:它只走PC 网页端链路。README 已声明项目停止维护,大部分购买方式已迁移到手机端、需配合抓包。如果你的目标场次在 PC 端已没有"立即购买"按钮,这套脚本帮不上忙,别硬上。

它是怎么跑通的:登录用浏览器,下单走纯请求

登录环节有滑块、验证码这类浏览器级反爬,绕不开真实页面;而下单环节接口是固定参数加 cookies,纯请求比渲染页面快一个量级。这就是项目"双引擎"分工的由来。完整链路:

  1. 拿登录态(最慢的一步):tools.py 里的account_login用 Selenium 打开大麦登录页,先关掉enable-automation和AutomationControlled两个开关,避免被navigator.webdriver检测到后弹滑块。页面加载超时设为 60 秒,登录最长等 180 秒。
  2. 验登录态:请求个人中心页面,标题是"我的大麦-个人信息"才算通过;成功后把 cookies 存成cookies.pkl,下次跳过登录。
  3. 取接口参数:get_api_param()在线下载大麦前端 vendor.js,用正则抽出查票和下单接口需要的参数。这一步依赖页面 JS 结构,是网站更新后最容易坏的一环。
  4. 轮询等开抢(最快的一步):循环请求detail.damai.cn/subpage读目标价位的按钮文案——"即将开抢"就继续循环,"缺货登记"直接结束,"立即购买"立刻进入下单。
  5. 下单:请求buy.damai.cn/orderConfirm生成订单数据,按姓名匹配勾选viewer,POSTcreateOrder提交,打印alipayOrderId和支付链接。
  6. 选座分支(按钮为"选座购买"时):用 signcode.js 配合 pyexecjs 计算 mtop 接口的 sign 签名,拉取座位数据后过滤出目标价位可售座位,按顺序取前buy_nums个。

一句话概括:浏览器只干登录这一件最难自动化的事,剩下全是毫秒级的纯请求。参数与流程细节见 Automatic_ticket_purchase.py。

从克隆到跑通:三步跑起来环境

第 1 步,拉代码

git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase cd Automatic_ticket_purchase

第 2 步,装依赖

pip install -r requirements.txt

4 个依赖各司其职,版本都锁在 requirements.txt 里:

包名版本用途
selenium3.141.0驱动浏览器完成登录
requests2.24.0承担查票、下单的全部 HTTP 请求
beautifulsoup44.9.3解析登录状态页 HTML
pyexecjs1.5.1执行 JS 计算选座接口的 sign 签名

同时下载与你本机 Chrome 版本匹配的 chromedriver,按系统重命名后放到项目根目录:Windows 改名chromedriver_windows、macOS 改名chromedriver_mac、Linux 改名chromedriver_linux——代码就是按系统名在当前目录找它的。

第 3 步,首次运行

python Automatic_ticket_purchase.py # 账号密码登录 python Automatic_ticket_purchase.py --mode qr # 扫码登录

首次没有cookies.pkl时默认走账号密码登录,成功后自动生成该文件。最容易踩的坑就一个:chromedriver 与 Chrome 版本不匹配,或者没改名、没放根目录——轻则启动找不到驱动,重则登录页反复弹滑块。

关键参数速查表

所有参数集中在 Automatic_ticket_purchase.py 的DaMaiTicket.__init__里:

参数必填/选填怎么获取常见坑
item_id必填商品详情页地址栏里id=后面的数字同一巡演每个城市站是不同场次,ID 各不相同
viewer必填"我的大麦 → 常用购票人管理"里登记的姓名必须一字不差
buy_nums必填你要买的张数必须等于len(viewer)
ticket_price必填页面价签上的数字代码按数值相等匹配,180 就填 180
login_id/login_password账号登录时必填你的大麦账号与密码用--mode qr扫码则不用填

item_id:脚本锁定的目标。打开目标演出的商品页,地址栏里id=610820299671这段就是。注意别拿海口站的 ID 去抢太原站。

viewer与buy_nums:两个最容易翻车的参数。viewer填的名字和常用购票人里登记的必须逐字一致(空格、繁简、全半角都会导致匹配失败),下单时脚本按姓名自动勾选,不用手填证件号。

而buy_nums一旦不等于len(viewer),run()一进来就打印"购买数量与实际观演人数量不符"然后退出,连登录都不会发生。

一次跑通实录:开票前的时间线

以 20:00 开票为例,一次典型的成功运行长这样:

时间动作结果
提前 1 天完整跑一遍流程,扫码登录根目录生成cookies.pkl,登录验证通过
开票前 30 分钟干跑一次稳定输出"即将开抢",说明参数没填错
开票前几分钟启动正式运行直接读cookies.pkl,跳过登录进入轮询
20:00 起按钮变为"立即购买"连续发出orderConfirm、createOrder两个请求
开票后订单提交成功打印alipayOrderId与支付宝支付链接
限期内手机打开链接付款订单锁定,"我的大麦 → 交易中心"可查

脚本能压缩的是操作耗时——从"立即购买"出现到订单提交,中间只有两次 HTTP 请求;它压缩不了网络排队,返回"缺货登记"就代表这个价位确实被抢完了。

高频报错速查:现象、原因、对策

现象原因对策
"购买数量与实际观演人数量不符"buy_nums≠len(viewer)两者改成相同数量
"登录失败, 请检查登录账号信息"cookies.pkl过期,或账号密码错误删除cookies.pkl,改用--mode qr重登
"请检查输入的观演人信息与大麦网观演人信息是否一致"viewer与常用购票人对不上(空格、繁简、全半角)在常用购票人里核对,逐字复制
"手慢了,该票价已经售空"目标价位售罄换ticket_price重试,或等下一批开票
"获取购买必备参数异常,请重新解析response返回的参数"大麦前端 JS 更新,get_api_param正则失配对照最新 vendor.js 重新提取参数
启动即报找不到 chromedriver驱动没改名或没放根目录按系统改名后放项目根目录
选座分支报获取sku_id失败或 sign 相关错误选座接口参数或签名逻辑与当前不一致抓包对比接口参数,更新 signcode.js

报错都来自脚本的实际打印,出问题时先对号入座,再考虑别的。

让它更稳的几个技巧 ⚡

1. 提前 1–2 天把登录态"焐热":开票前完整跑一遍,确认cookies.pkl已生成且登录验证通过。开票当天脚本启动即进入轮询,省掉浏览器登录那几分钟;当天若报"登录失败",删掉cookies.pkl用--mode qr重登一次。

2. 开票前 30 分钟干跑一次:预期结果是稳定输出"即将开抢"状态,说明item_id、ticket_price都填对了,get_api_param也没被网站更新搞坏。问题在开票前暴露,而不是开抢那一刻。

3. 时间与网络两条底线:系统时间校准到与北京时间一致;开抢时段别让下载、直播挤占带宽。主循环是"轮询—判定—下单"的紧凑循环,端到端耗时基本等于一次网络往返,离服务器近的线路比什么都有效。

边界与合规

  • 仓库为 MIT License,作者声明仅用于个人参考学习,商用、转售、代抢不在许可范围内,账号风险自负;
  • 主循环是高频轮询,同一目标别并行起多份脚本;
  • 项目已停止维护、暂无更新计划,PC 端接口随时可能失效,把它当"开票前干跑验证"的工具而非一劳永逸的方案;
  • 只给自己和身边人买票,尊重平台服务条款。

动手前的行动清单

  • 今天:克隆仓库 →pip install -r requirements.txt→ 放好命名正确的 chromedriver
  • 一两天内:填好Automatic_ticket_purchase.py里的 6 个参数;常用购票人登记完毕,姓名逐字核对
  • 开票前一天:跑一次完整流程,确认cookies.pkl生成、登录验证通过
  • 开票前 30 分钟:干跑一次,确认输出"即将开抢"
  • 开票时刻:启动脚本,盯输出里的alipayOrderId,限期内完成支付
  • 收尾:到"我的大麦 → 交易中心"核对订单状态

脚本把"手速"换成了"提前量",你要做的只剩三件:参数别填错、时间要对准、网络要留专线。

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

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

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

Artcraft:用工程化管线实现参数化生成艺术与批量视觉输出

1. 从“artcraft”这个名字说起:它到底想解决什么问题第一次看到“artcraft”这个标题,我脑子里蹦出来的第一反应是:这大概率不是一个单纯的艺术创作工具,也不是一个纯粹的代码框架,而是一个把“艺术表达”和“工程实现…

作者头像 李华
网站建设 2026/10/15 8:14:44

ThinkPHP与Laravel混合架构在火车售票系统中的应用

1. 项目背景与核心需求火车售票系统作为现代交通出行领域的关键基础设施,其稳定性和性能直接影响数百万旅客的出行体验。传统售票系统往往面临高并发访问、数据一致性、系统扩展性等多重挑战。基于ThinkPHP和Laravel这两个主流PHP框架的混合架构设计,能够…

作者头像 李华
网站建设 2026/10/15 8:12:16

TCP/UDP协议核心原理与网络性能优化实践

1. 传输层核心概念解析传输层作为计算机网络体系结构中的关键层级,承担着端到端通信的重要职责。我在实际网络工程实践中发现,很多网络性能问题和连接异常都源于对传输层原理理解不透彻。传输层最核心的价值在于:向上层应用提供可靠或不可靠的…

作者头像 李华
网站建设 2026/10/15 8:11:46

医药行业投资价值与巴菲特投资逻辑解析

1. 医药行业投资价值解析医药行业作为典型的防御性板块,长期以来受到价值投资者的青睐。这个行业最吸引人的特质在于其"刚需"属性——无论经济周期如何波动,人们对健康的需求永远不会消失。我在研究医药股的过程中发现,这个行业平均…

作者头像 李华
网站建设 2026/10/15 8:11:43

战棋悔棋机制设计:容错、硬核与策略深度的平衡之道

一直有个场景让我印象深刻:一位平时不怎么碰策略游戏的朋友,在我电脑上打开某款战棋Demo,角色走错一步被敌方集火打成残血,他下意识就点了一下“悔棋”,把棋子拖回原处,重新选了一条路线。那动作流畅得跟文…

作者头像 李华