手把手:15 分钟跑通大麦自动抢票工具(网页 + APP 双路线)
2026/9/24 14:18:17 网站建设 项目流程

手把手:15 分钟跑通大麦自动抢票工具(网页 + APP 双路线)

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

如果开售 10 点整票瞬间放光,而你的手速跟不上,还有一条路:让程序替你点。大麦自动抢票项目 ticket-purchase 就是干这件事的——配置好观演人、场次和票价后,它会自动刷新页面、选座选价、提交订单。下面从环境安装到跑通全流程,不需要你看一行源码。

它替你省掉哪几步

手动抢票时,开售瞬间你要连续完成一串动作;这个工具把中间的点击全部接管了:

你手动要做的事工具替你做什么
开售后不停刷新演出页自动轮询刷新,最多重试max_retries次(默认 1000 次)
选对城市和场次日期按配置里的city/date(s)自动选中
点中目标票价档price(s)/price_index自动点击
勾选观演人users列表自动全部勾选
点"提交订单"if_commit_order为 true 时自动提交

你只需要做三件:登录大麦账号、填好配置文件、在开售前把脚本跑起来。

先想清楚:走网页路线还是 APP 路线

项目里两套实现并存,先按下面这张表选边,后面的安装步骤只跟所选路线走:

路线核心依赖适合谁
网页版(Selenium 驱动 Chrome)Python + 最新版 Chrome电脑上就能完成购票的场次
APP 版(Appium 驱动安卓)Python + Node.js + Appium + 安卓真机/模拟器票只能在 APP 里买,或追求更快路径

如果你在浏览器里能正常打开演出页并走完全流程,就选网页版,依赖最少、上手最快;否则(很多大麦票只支持 APP 端购买)选 APP 版,代价是多一套 Node.js 和安卓设备环境。

从零到跑起来

结论很简单:两条路线共用的只有"拉仓库 + 装 Python 依赖",其余各走各的。

方案核心依赖系统要求
网页版Python 3.9+、selenium 4.18.1、最新版 ChromeWindows / macOS / Linux
APP 版以上 + Node.js 20.19.0+、Appium 3.1.0+、uiautomator2 驱动、Android SDK额外需要安卓真机或模拟器

拉仓库

git clone https://gitcode.com/GitHub_Trending/ti/ticket-purchase cd ticket-purchase

把项目克隆到本地,之后所有修改都发生在这个副本里。

装依赖(两条路线通用)

cd damai pip install -r requirements.txt

网页版的依赖就一行:selenium 4.18.1,装完即可用。

多装两个组件(仅 APP 版)

npm install -g appium appium driver install uiautomator2

第一条安装 Appium 服务(脚本靠它指挥安卓设备),第二条装安卓驱动;执行appium --version能打印版本号说明装好了。仓库里还带了 QUICK_START.md,里面有./check_environment.sh一键检查脚本,可以提前跑一遍看缺哪块。

只需改这几处

两个配置文件都是 JSON,网页版在damai/config.json,APP 版在damai_appium/config.jsonc,只需要动下面这些字段:

配置项填什么不填会怎样
users大麦里已注册过的观演人姓名(逐字一致)脚本直接报错退出
target_url(网页)/keyword(APP)演出详情页链接 / 搜索关键词定位不到目标演出
city演出城市,如"广州"选错城市
dates(网页)/date(APP)场次日期选错场次
prices(网页)/price+price_index(APP)目标票价;索引从 0 数起,0 即最低档点错价格档
if_commit_ordertrue自动提交订单false停在确认页不提交

选填项保持默认即可:server_url(APP 版连 Appium 的地址,默认http://127.0.0.1:4723)、max_retries(重试次数)、if_listen

网页版配置文件全貌长这样,照着逐项替换:

打开target_url对应页面后,每个配置项对应页面上哪个元素,下面这张标注图一看就懂:

开跑前的最后检查

🚦 逐项打勾再开跑,任何一条不满足都会让脚本白跑:

  • 观演人姓名已在大麦账号里添加,且与配置文件逐字一致
  • 大麦账号已登录:网页版 Chrome 里已登录 / APP 版手机里大麦 APP 已登录
  • 网页版:Chrome 是最新版(ChromeDriver 会自动匹配);APP 版:adb devices能列出设备且已开启 USB 调试
  • APP 版:Node.js ≥ 20.19.0,Appium 与 uiautomator2 驱动已装好
  • 网络稳定,开售时段建议用有线
  • 在开售前 5~10 分钟把脚本启动,别卡点再跑

跑起来后你该看到什么

先看到什么:网页版在终端打印✓ 配置文件加载成功并弹出 Chrome 窗口;APP 版则是 Appium 服务先启动,脚本连上 4723 端口后开始操作手机。

cd damai python damai.py

网页版就这两行;APP 版先起 Appium(appium --port 4723),再执行python damai_app_v2.py,细节见 damai_appium/app.md。

正常长什么样:浏览器自动打开演出详情页,快速选中城市、场次、票价档,勾选观演人,最后停在订单确认页——if_commit_ordertrue时会直接进支付页。开售后页面会停留 5 分钟方便你观察结果:

不正常时去哪看:先看终端打印的 traceback 第一行报错;APP 版连不上就用curl http://127.0.0.1:4723/status确认 Appium 是否存活,用adb devices确认设备是否还在。

抢不到 / 报错时的排查手册

🔧 按"现象 → 原因 → 解法"对号入座:

现象可能原因怎么解
Node version must be at least ^20.19.0 ...Node.js 版本太旧升级 Node 到 20.19+ / 22.12+ / 24+
Unable to find an active device or emulator设备未连接或没开 USB 调试开启调试后用adb devices确认能看到设备
Connection refusedAppium 没启动或 4723 端口被占用重启 Appium,核对server_url与实际端口一致
Neither ANDROID_HOME nor ANDROID_SDK_ROOT ...安卓环境变量没设置在 shell 配置文件里 exportANDROID_HOME指向 SDK 目录
Chrome 打开后无反应 / 报错Chrome 与 Selenium 版本不匹配Chrome 保持最新版,selenium 会自动匹配驱动
一直在刷新却总提示售罄、或请求被限制频率过高、同时跑了多个实例只保留一个实例,调低max_retries,遵守平台使用规则
APP 版点错票价位置新版大麦票价文本为空,price_index数错了手动数一遍目标票价在票价列表里的位置,更新索引

边界与提醒

  • 工具仅供学习与研究,请遵守大麦网服务条款,不要用于商业倒卖等用途。
  • 同一时间只跑一个实例,请求频率保持在合理范围,避免对账号和平台造成过大压力。
  • 建议用专门账号操作,万一账号被风控,对主账号影响更小。

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

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

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

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

立即咨询