10分钟跑通大麦抢票脚本:从克隆到空跑只需6条命令
2026/9/24 16:27:31 网站建设 项目流程

10分钟跑通大麦抢票脚本:从克隆到空跑只需6条命令

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

开票瞬间,"已抢完"三个字比你的手指先到一步。开源项目 ticket-purchase 把选城市、挑场次、选票价、勾观演人、提交订单整条链路交给 Selenium 和 Appium 自动执行,你只管提前写配置。零基础怎么把它跑起来?

它替你干到哪一步,又适合谁

从打开详情页开始,到订单提交前一刻,每一步点击都由脚本完成,浏览器和安卓端各走各的通道,也可以同时开。没开售时它自己反复轮询,不用你蹲点刷新。适合愿意花十分钟配环境的人;如果你连命令行是什么都不知道,建议先在别的开源项目里摸熟cdpip再说。

从克隆到空跑:三步跑通大麦抢票脚本

第一步:装依赖

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

Web 端到这一步就齐活了:Python 3.9+ 加一个最新版 Chrome。

跑移动端还需要 Node.js 20.19+ 和 Appium 3.1+:

npm install -g appium appium driver install uiautomator2

再准备一台开着 USB 调试的安卓真机,或者完全启动的模拟器,里面装好大麦 APP 并登录。

第二步:体检与写配置

./check_environment.sh

一条命令把 Python、Node、Appium、ADB、设备连接、大麦 APP、4723 端口挨个查一遍,缺什么直接写在终端里。只有一处要留意:脚本里写死了作者本机的 Android SDK 路径,你机器上对应那几行会标红,改成自己的路径或直接跳过,手动跑一次adb devices确认设备在线即可。

移动端配置全在damai_appium/config.jsonc里,关键几行:

"keyword": "周深", "city": "深圳", "date": "12.06", "price": "内场1199元", "price_index": 5, "users": ["王胜"], "if_commit_order": false

Web 端配置在damai/config.json,字段更多,原理一样,细节放到下一节讲。

第三步:启动运行

移动端先让手机停在目标演出详情页,然后两个终端各跑一条:

./start_appium.sh curl http://127.0.0.1:4723/status ./start_ticket_grabbing.sh

第二条确认 Appium 服务活了,第三条会先自检服务状态和配置文件,你敲个 y 才开跑。Web 端更省事,python damai/damai.py后浏览器自己弹出来,扫码登录,剩下的全是脚本的事。

配置字段对照表:值从哪抄,填错会怎样

配置里的值没有任何一个需要猜,全部抄自 APP 里的演出详情页:

字段从哪抄填错的后果
keyword你要在 APP 里搜的演出词搜不到目标,直接停首页
city / date页面上显示的城市、日期文本与页面一个字不一致就匹配失败
price / price_index票价档位文字 + 从上往下数第几个(从 0 起算)点错档位,买成别的价位
usersAPP 里观演人列表的姓名勾选环节报"未找到用户",流程中断
if_commit_order你自己定空跑时务必 false,只走流程不下单

Web 端同理:地址栏整串 URL 填给target_url,页面上显示的"广州站"对应 city,"2023-10-28"对应 date。

第一次跑,强烈建议if_commit_order保持false。空跑走完全流程、不产生真实订单,卡在哪一步日志里写得清清楚楚。

故障速查:五个最常翻车的地方

Appium 一启动就提示 Node 版本不达标?

新版 Appium 只认^20.19.0 || ^22.12.0 || >=24.0.0,你装的是老版本。升级后再验证:

brew upgrade node node --version

报 ANDROID_HOME 或 ANDROID_SDK_ROOT 没导出?

Appium 找不到 Android SDK 的安装目录。把 SDK 绝对路径同时 export 给这两个变量,写进 shell 配置文件,再开新终端生效。

adb devices 里为什么看不到设备?

真机多半没开 USB 调试,模拟器是没等它完全启动。都排查过还空着,就重建连接:adb kill-server && adb start-server

Appium 服务 Connection refused?

4723 端口的服务没起来,或端口被别的程序占了。curl http://127.0.0.1:4723/status通了再放行;不通就换个端口启动,并把配置里的server_url一起改掉。

脚本报"未找到用户:某某"?

姓名和大麦账号里存的观演人没有逐字对上,页面上经常藏着空格或前后缀。对着 APP 里的观演人列表逐字核对;还报错就把page_load_delay调到 3~5,给页面多点加载时间。

开抢前最省事的一步

if_commit_order设成false,开售前完整空跑两三遍,确认每一步都落在预期页面上,比把文档读十遍都管用。延伸阅读:README.md、移动端配置样例 damai_appium/config.jsonc、Web 端入口 damai/damai.py。

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

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

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

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

立即咨询