大麦自动抢票教程:从选城市到提交订单 7 步自动走完 大麦自动抢票教程从选城市到提交订单 7 步自动走完【免费下载链接】ticket-purchase大麦自动抢票支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase大麦开票就几秒钟手动点选总慢半拍。ticket-purchase 是大麦自动抢票项目用 Appium在电脑上驱动手机 App 的框架和 Selenium控制浏览器的库自动完成选城市、选票档、选观演人、提交订单共 7 步适合已备好 Android 模拟器或真机的人也适合想在网页端守候回流票的 PC 端用户。它是怎么做到的项目分成两条独立路线damai/目录用 Selenium 控制 Chrome 浏览器跑网页端抢票damai_appium/目录用 Appium 搭配 UiAutomator2安卓端的 UI 自动化驱动直接驱动大麦安卓客户端。由于大麦大部分票只能在 App 端购买作者的重心放在移动端主程序 先定位元素再按坐标点击多人勾选时先一次性收集全部坐标、再连续快速点击。移动端按固定顺序执行选城市、点预约/购买按钮、选票档、调数量、确定购买、勾选观演人、提交订单这 7 步跑完还会打印整条流程的耗时。动手前一张表核对环境把版本要求、设备依赖和环境变量合在一张表里开工前逐项过一遍检查项要求怎么确认Python3.9python3 --versionNode.js20.19.0 / 22.12.0 / 24.0.0node --versionAppium3.1.0appium --versionAndroid SDKANDROID_HOME与ANDROID_SDK_ROOT都指向 SDK 目录echo $ANDROID_HOME安卓设备adb devices中有状态为device的一行模拟器已启动或真机已授权 USB 调试大麦 App设备上已安装包名cn.damai并已登录adb shell pm list packages \| grep damaiChrome最新版仅 Web 端需要能打开大麦网页即可配置文件damai_appium/config.jsonc存在直接看仓库文件跑一次 check_environment.sh 可以按上面顺序把各项一起检查完缺什么会直接提示对应的安装命令。最短路径跑起来git clone https://gitcode.com/GitHub_Trending/ti/ticket-purchase cd ticket-purchase ./check_environment.shpip install -r damai/requirements.txt npm install -g appium appium driver install uiautomator2Web 端只需第一组命令里的 Python 依赖移动端还需要后两条把 Appium 服务和安卓 UI 驱动装上。注意start_appium.sh、start_ticket_grabbing.sh 和 check_environment.sh 里写死了作者本机的 Android SDK 路径与 poetry 虚拟环境路径/Users/shengwang/...。首次使用前必须把脚本里的ANDROID_HOME、ANDROID_SDK_ROOT和 python 解释器路径改成你自己机器上的实际路径否则脚本会在第一步就失败。配置里最容易踩的坑移动端config.jsonc 配置参数逐项说明damai_appium/config.jsonc 是移动端的唯一参数入口参数作用易错点server_urlAppium 服务地址默认127.0.0.1:4723改了要和服务启动端口一致keyword演出搜索关键词脚本不含搜索动作这一项仅供你手动停在详情页时参考users观演人姓名列表必须与账号内观演人逐字一致人数还决定票数脚本按人数点加号city演出城市必须和详情页显示文字完全一致差一个字第一步就失败date演出日期移动端格式是12.06月.日不是2026-12-06price票档文字描述仅供人工核对脚本不会读这个文字price_index票档在列表中的索引从 0 开始计数需自己在详情页数好再填if_commit_order是否自动点提交订单设为 false 会停在提交前最反直觉的是price_index。新版大麦界面里票档按钮的文本是空字符串app.md 里明确写了这一点按文字找按钮的老办法失效了所以脚本改成在票档容器内按索引取第 N 个可点击项。price字段存在的意义就是让你数索引时能核对我数的第 5 个确实是一张内场 1199 元。Web 端config.json 配置参数逐项说明damai/config.json 字段为index_url、login_url、target_url演出详情页地址、users、city、dates、prices、if_listen是否停在页面持续守候、if_commit_order另可调max_retries默认 1000、fast_mode默认开、page_load_delay默认 2 秒。下图把详情页各区域和对应配置字段标了出来这是填入编辑器后的config.json实例第一次运行的完整时间线以一次移动端运行为主线六个时点串起来时点动作预期结果开售前启动安卓模拟器或连接真机装好大麦并登录账号adb devices输出状态为device的一行开售前执行./start_appium.sh服务监听127.0.0.1:4723窗口保持运行开售前在大麦 App 里搜keyword手动停在目标演出详情页页面上的城市、票档与配置逐字一致开售时刻执行./start_ticket_grabbing.sh看完配置按y确认脚本启动7 步按顺序执行运行中盯控制台日志每步打印进度失败等 2 秒重试最多 3 次结束后看最后一行输出流程成败与总耗时秒第三行是全程唯一需要人做的动作脚本的起点就是已经站在详情页上它不负责搜索和进入。Web 端则更短——填好配置后执行cd damai python damai.py浏览器自动打开目标页面if_listen为 true 时会停留在页面上持续等回流票。它的能力边界支持暂不支持移动端 7 步自动下单失败自动重建驱动重试 3 次预约类演出流程app.md 写明只处理了抢票预约的暂未考虑Web 端if_listen监听守候、max_retries/page_load_delay调优移动端监听模式移动端重试次数写死在 damai_app_v2.py 入口的max_retries3环境自检脚本一次输出全部检查结果多设备并行capabilities 中deviceName固定为emulator-5554并行需自行改连接参数搜索框已打开时的后续全部操作从首页进入详情页的步骤须提前手动完成报错速查报错关键词原因处理动作Node version must be at leastNode.js 版本低于 Appium 要求brew upgrade node升级后node --version复核Neither ANDROID_HOME nor ANDROID_SDK_ROOTSDK 环境变量未设置export ANDROID_HOME你的SDK路径同步设置ANDROID_SDK_ROOTUnable to find an active device or emulator模拟器未启动或真机未授权adb devices确认有device行真机重新插拔并同意授权弹窗Connection refusedAppium 服务没起或 4723 端口被占先跑./start_appium.sh再用curl http://127.0.0.1:4723/status验证城市选择失败city与详情页文字对不上对照详情页逐字核对配置票价选择失败price_index数错或越界从 0 起重新数票档位置并更新索引这个项目把选档—选人—提交的固定操作固化成了脚本移动端用索引定位和坐标点击适配了 App 的界面变化Web 端保留了守候模式。仓库声明仅供学习和研究使用动手前请遵守大麦网的使用条款。开跑前建议先完整执行一遍./check_environment.sh把标 ❌ 的项补齐再挑一场竞争小的演出做一次全流程演练。【免费下载链接】ticket-purchase大麦自动抢票支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考