把搜索到下单的八次点击压进一条命令:大麦自动抢票脚本实操手册
【免费下载链接】ticket-purchase大麦自动抢票,支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase
开票后三秒,页面开始转圈,手指还停在"立即购买"上方。等城市、场次、票价、观演人一个个点完,票早没了。大麦自动抢票脚本 ticket-purchase 做的事很直接:把演出信息写进配置文件,剩下的八步点击交给脚本自动完成,适合不想自己写自动化、只想提前备好流程的人。
这套工具能做什么、不能做什么
项目在 macOS、Windows、Linux 上都能跑,分两端:Web 端用 Selenium 驱动 Chrome,移动端用 Appium 驱动 Android 真机或模拟器。它能做的是自动选城市、场次、票价和观演人并提交订单;不能做的是绕过验证码、替人付款,流程走到"提交订单"就停,最后的支付仍需要人来完成。移动端主程序内置重试机制,一次点击失败会整条流程重来。
跑通大麦自动抢票前必须备好的三样东西
环境准备不用逐项手查,仓库里带了现成的检查脚本,它会一次性指出 Python、Node.js、Android SDK 各缺哪样,卡住就照输出提示补:
./check_environment.sh如果提示 Node 版本不兼容,先升级 Node 到 20.19 及以上再重跑。参数调整只动一个文件 damai_appium/config.jsonc,把演出关键词、观演人、城市、场次、票价填进去,各字段怎么填才不出错,下面单独说。触发执行是两条命令:一条拉 Appium 服务器,一条启动抢票脚本,前提是手机或模拟器上的大麦 App 已经停在目标演出的详情页:
./start_appium.sh ./start_ticket_grabbing.sh若第二条报"Appium 服务器未运行",说明只启动了其中一条,换个终端先把服务器拉起来。仓库获取方式很简单,克隆下来即可:
git clone https://gitcode.com/GitHub_Trending/ti/ticket-purchaseconfig.json 里五个最容易填错的字段
移动端配置是扁平结构,填错的坑基本都集中在这几项上。先看下演出页面上这些位置长什么样,字段和页面一一对应:
keyword|写艺人名字,别写场馆名
示例:"周深"。App 端靠搜索列表定位演出,写地点会搜出一堆无关场次,脚本找不到目标。
date|按演出页显示的格式写
示例:"12.06"。页面上场次是什么样子("10.28" 或 "10月28日")就照什么样子写,脚本按文本匹配,不按日历换算。
price_index|票价位置靠索引,不靠数字
示例:"内场1199元"配"price_index": 5。App 里票价文本常常藏在控件里读不到,脚本实际用列表索引定位,索引差一位就点到隔壁票价,开售前务必对照真实页面核对。
users|姓名要和账号登记观演人一字不差
示例:["王胜", "潘鸿运"]。写的是账号观演人管理里登记的名字,差一个字,对应勾选就找不到,流程会停在观演人这一步。
if_commit_order|只想试流程就关掉
设true会自动提交订单,设false停在订单确认页。第一次跑强烈建议设false,先确认整条链路走得通再说。
字段都核对好了,接下来看脚本被触发后到底按什么顺序动手。
从开售到提交订单,脚本中间干了什么
先连上 Appium 服务器,接管停在演出详情页的大麦 App,接着点击配置对应的城市和"预约/购买"按钮;进入选座页后用索引点中目标票价,把数量加到和观演人人数一致,再点"确定购买"进入观演人列表,快速连续点掉每个观演人姓名,最后按下"立即提交"完成下单。中途任何一步超时或失败,整条流程隔两秒重跑一遍,重试前会重新初始化驱动,直到成功或达到最大尝试次数。
换到 Web 端与多场次批量抢
如果手边没有手机,就换 Web 端。把配置从 damai_appium/config.jsonc 换成 damai/config.json,target_url 填演出详情页的浏览器地址,dates 和 prices 是数组,可以一次塞进多个场次和多个票价,然后执行下面这条命令,Selenium 会驱动 Chrome 跑同一套流程:
cd damai python damai.py两端的差别主要在三处:Web 端靠 Selenium 加 Chrome,移动端靠 Appium 加 UiAutomator2;配置文件一个在 damai 目录,一个在 damai_appium 目录;前者适合电脑常驻、没有手机在手的情况,后者更接近真实用户操作路径。Web 端还能做批量匹配:多个场次和票价同时写入后,脚本自动遍历,一场没票就换下一场。移动端目前是单票价索引,想要多场次,可以在多台设备或模拟器上并行跑多份配置,每台盯一个票价档。
今晚就能试的最小配置
先跑一次环境检查确认依赖齐了,把 keyword 和 price 改成目标演出,if_commit_order 设成 false,在开售前把流程空跑一遍,看到能稳定走到订单确认页为止,开售当天再把它改成 true。最后提一句:这套工具仅供个人合理使用,拿去批量囤票、倒卖既伤账号,也越过平台规则的边界。
【免费下载链接】ticket-purchase大麦自动抢票,支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考