☰
如何三步跑通大麦自动抢票脚本:完整配置指南
2026/9/25 5:07:52 网站建设 项目流程

如何三步跑通大麦自动抢票脚本:完整配置指南

【免费下载链接】ticket-purchase大麦自动抢票,支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase

开售前几分钟,脚本已经守在演出详情页反复刷新,只等放票的那一刻,你要做的只是盯着控制台输出。ticket-purchase 是一个基于 Selenium 和 Appium 的大麦自动抢票工具,同时覆盖 Web 端(Chrome 浏览器)和移动端(Android 设备),把城市、场次、票价、观演人的选择全部参数化,适合想减少"手点错字段"出错的抢票场景。

能力清单

  • 双端方案:Web 端用 Selenium 驱动 Chrome,移动端用 Appium 驱动 Android 真机或模拟器,任选其一
  • 参数化选择:城市、日期、票价、观演人全部写进配置文件,无需现场手动点击
  • 内置重试:抢不到就按max_retries循环刷新页面,不是一次机会
  • 配置文件驱动:改参数就是改一个 JSON 文件,不用动代码

🚀 快速跑起来:安装、配置、运行三步

第 1 步:获取代码并安装依赖

git clone https://gitcode.com/GitHub_Trending/ti/ticket-purchase cd ticket-purchase pip install -r damai/requirements.txt

依赖很轻,Web 端核心就是 damai/requirements.txt 里的 selenium。

第 2 步(仅移动端需要):装好 Appium 和驱动

npm install -g appium appium driver install uiautomator2

Node.js 版本要求 20.19.0+ / 22.12.0+ / 24.0.0+,Android SDK 路径要配进ANDROID_HOME。

第 3 步:改配置,然后运行

Web 端编辑 damai/config.json,执行:

cd damai python damai.py

移动端编辑 damai_appium/config.jsonc,按顺序执行三个自带脚本:

./check_environment.sh # 先自检环境 ./start_appium.sh # 启动 Appium 服务(端口 4723) ./start_ticket_grabbing.sh # 开抢

配置长这样,仓库里的示例文件可以直接对照改:

原理走查:脚本到底在做什么

以 Web 端为例,核心逻辑在 damai/concert.py,整个流程分五步,理解它就能看懂控制台输出的每一步:

  1. 登录等待:打开登录页,先检查本地 cookie;没登录就停在登录页等你手动完成,登录后自动继续
  2. 进入详情页:打开你配置的target_url(演出详情页地址)
  3. 抢票循环:反复刷新页面,检测是否出现可下单的入口;fast_mode开启时刷新间隔只有0.3 秒,正常模式为 1 秒
  4. 依次选字段:按配置依次点选城市、日期、票价档位、观演人(观演人有多种定位方式做兜底)
  5. 提交订单:if_commit_order为true时自动点击提交;为false时停在订单确认页,等你人工确认

移动端流程类似:Appium 接管手机上的大麦 APP,用坐标级快速点击(50ms 点击时长)代替普通点击,减少每一步的等待开销。

⚙️ 参数指南:8 个常用参数逐个说

Web 端配置对应演出页面的信息提取方式:

页面元素和配置项的对应关系如下图:

参数作用建议值
target_url演出详情页地址,决定抢哪场浏览器地址栏整条复制
users观演人姓名数组与账号实名认证完全一致
city演出城市,可选页面显示的城市名,如"杭州"
dates场次日期数组如["2026-04-11"],可列多场
prices票价档位数组如["680"],按优先级排序
if_commit_order是否自动提交订单测试期设false,正式抢设true
max_retries最大重试次数默认 1000,热门场次可调大
fast_mode快速模式,缩短所有等待true

移动端配置文件参数不同,核心是keyword(搜索关键词,替代target_url)、date(如"12.06")、price(如"内场1199元")、price_index(票价档位的下标,从 0 开始),完整说明见 damai_appium/config.jsonc 和 damai_appium/app.md。

进阶技巧:三个来自项目真实能力的调法

  1. 先干跑再实战:把if_commit_order设为false,脚本会选完所有字段停在订单确认页。确认"选的城市、日期、票价、观演人全对"之后再改回true,避免自动提交到错误订单
  2. 用快速模式压低等待:fast_mode为true时,订单页加载等待、字段选择间隔、刷新间隔全部缩短(0.3 秒 vs 1 秒);网络不稳时反而可以关掉快速模式并调大page_load_delay(订单确认页加载等待秒数),用稳定性换速度
  3. 多选项轮询:dates、prices、users都是数组,可以写多个场次、多个票价档、多个观演人,脚本按顺序尝试,一张没抢到会自动换下一档

避坑指南:高频问题与解法

  • 配置缺字段直接退出:脚本启动时会校验index_url、login_url、target_url、users四个必需字段,缺了会打印模板让你补。JSON 格式错误(多个逗号、单引号)同样会拦在启动时
  • 观演人选不中:名字必须与大麦账号实名认证一字不差,包括生僻字写法;选不中时关掉fast_mode看详细日志定位
  • 移动端脚本里的 SDK 路径:start_appium.sh、start_ticket_grabbing.sh里硬编码了作者机器的/Users/shengwang/Library/Android/sdk,在自己机器上要先改成自己的 SDK 路径再运行,这是最常见的"别人能跑我不能跑"
  • Node.js 版本报错:提示Node version must be at least ^20.19.0 ...时升级 Node 即可
  • Appium 连不上(Connection refused):确认./start_appium.sh还在运行、端口 4723 没被占用,可用curl http://127.0.0.1:4723/status验证
  • 找不到设备:adb devices应能看到device状态的设备,检查 USB 调试是否开启;模拟器需先启动

收尾:从文档开始

一句话总结:先把if_commit_order: false的干跑流程验证通过,再开正式抢票,这是这个项目给你的最大安全垫。后续可以按 QUICK_START.md 快速复查流程、README.md 查完整说明,问题排查工具在 damai/quick_diagnosis.py,流程图源文件在 doc/。

祝开售顺利。

【免费下载链接】ticket-purchase大麦自动抢票,支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase

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

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

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

立即咨询