大麦抢票教程:3步配好抢票自动化脚本,如何把成功率拉满
【免费下载链接】ticket-purchase大麦自动抢票,支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase
开票一秒,页面只剩"已售罄"——手点到发麻也没用的那种绝望,你经历过吗?多数人的败北不是运气差,而是人手这个"硬件"的天花板太低:反应、点击、填表,每一步都在消耗时间。开源项目 ticket-purchase 做的就是大麦抢票自动化:把刷新页面、选城市、选票档、填观演人、提交订单这一整套动作交给脚本,你只负责把参数填对。它支持人员、城市、日期场次、价格的选择,Web 端和 Android 端都能跑。
抢票自动化凭什么赢过人手
先算一笔时间账:人手从"看见按钮亮起"到"提交成功",要经过刷新 → 选场次 → 选票档 → 选观演人 → 提交,每一步最快也要 0.5 秒上下,任何一步手抖就前功尽弃;脚本的反应在0.1 秒级,而且同一套动作重复一千次也不会"手抖"。真正的差距不在手速,而在流程的稳定性。
两个设计决定了它的上限:
- 监听模式(
if_listen):开售之前脚本就守在详情页持续刷新,相当于雇了一个 24 小时盯着收银台的店员——票源一放出来,立刻开始下单流程,你本人不用全程在场。 - 组合轮询 + 重试:Web 端把
dates、prices配成列表,3 个日期 × 4 档票价 =12 种组合,脚本按顺序挨个尝试;max_retries默认1000次,单次网络抖动不会直接判你出局。
架构上是双端:Web 端用 Selenium 驱动 Chrome,移动端用 Appium 驱动真机或模拟器上的大麦 APP。项目作者把移动端标为"推荐"路线,因为它更贴近真实用户的购票链路。
抢票脚本配置怎么做:参数逐项拆解
配置是抢票里权重最高的变量——错一个字符,脚本就会空转到底。正确姿势是:先打开目标演出的详情页,把四个值逐一"对号入座"。
target_url← 浏览器地址栏完整复制,务必保留id=xxx参数;city← 页面中部"城市"一栏的 tab(如 宁波站 / 南京站 /广州站/ 天津站),填与 tab 一致的城市名;dates← "场次"框里的演出日期,Web 端用2023-10-28这种横杠格式(页面显示的是2023.10.28,要手动转换);prices← 想买票档的面值,Web 端只填纯数字(如1039),不带"元"。
上图就是一次完整的"参数提取"演示:地址栏给target_url,城市 tab 给city,场次框给dates,票档给prices。对号入座之后,把值写进damai/config.json:
{ "target_url": "https://detail.damai.cn/item.htm?id=738291023", "users": ["张三", "李四"], "city": "广州", "dates": ["2024-12-24", "2024-12-25"], "prices": ["580", "780", "1039"], "if_listen": true, "if_commit_order": true }大白话:这份文件就是脚本的"点菜单"——去哪场演出(target_url)、买给谁(users)、哪几天(dates)、哪几档(prices);if_listen决定开售前是否提前监听,if_commit_order决定要不要真的提交订单,填false就能干跑演练。
移动端damai_appium/config.jsonc的差异点要单独记:keyword是搜索关键词(一般填艺人名字,脚本会自己搜到演出);date用10.04这种点号格式;price带单位,如"799元";price_index指定选第几档票价,从 0 开始数。
⚠️ 避坑:引号必须半角;Web 端日期是横杠、价格不带"元",移动端正好相反(点号日期、价格带"元")——两端格式互相串,是最常见的翻车点。
💡 洞察:
users填大麦账号里登记的观演人姓名,下单时名称对不上会直接被驳回,建议照着"我的观演人"列表抄。
如何三步启动大麦抢票:Web端与移动端
第 1 步:装环境并自检
git clone https://gitcode.com/GitHub_Trending/ti/ticket-purchase cd ticket-purchase pip install -r damai/requirements.txt ./check_environment.sh这四行做完三件事:拉代码、装依赖、体检。最后一行是环境自检脚本,缺什么会直接告诉你;Web 端需要 Python 3.9+ 和最新版 Chrome,移动端另需 Node.js20.19.0+与 Appium。
第 2 步:Web 端开跑(适合新手)
cd damai python damai.py首次运行会引导你登录,登录状态会缓存到本地的 cookie 文件,第二次起免登录。
第 3 步:移动端开跑(成功率更高的路线)
./start_appium.sh ./start_ticket_grabbing.sh第一行拉起 Appium 服务,第二行跑抢票脚本。跑之前记得:手机/模拟器上装好大麦 APP、登录账号,并先搜索到目标演出。
卡住的时候:PC 端细节看 完整使用指南(PC端).md.md),移动端配置看 damai_appium/app.md,整体流程可以对照 doc/ 里的流程图。
怎样避免翻车:常见问题与合规底线
开票前把这张清单过一遍,能省掉现场救火的绝大部分麻烦:
- 脚本跑了没反应→ 先跑
./check_environment.sh体检,再确认是在damai目录下运行的(配置文件就放在那儿); - 提示 Node 版本不兼容(要求
^20.19.0 || ^22.12.0 || >=24.0.0)→ 升级 Node.js 后重跑; - 移动端找不到设备→
adb devices确认模拟器/真机在线,真机要开 USB 调试; - Appium 连接被拒→ 确认服务已启动、端口4723没被占用。
几条保护账号的使用底线,建议写进肌肉记忆:
- ✅ 只为自己和亲友购票,不用于批量出票、转卖;
- ✅ 配置文件里不存密码等敏感信息,登录走浏览器/APP 自身状态;
- ✅ 查询频率保持 1~3 秒一次,别把请求密度拉满;
- ✅ 正式开票前,先用一场冷门演出做干跑验证。
🎫 现在就能做的最小动作:挑一场不热门的演出,把target_url和dates填进config.json,if_commit_order设为false,跑一次干跑——脚本能自己找到场次和票档,你就有资格在下一场热门演出开票时,把心放回肚子里。
【免费下载链接】ticket-purchase大麦自动抢票,支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考