尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
ticket-purchase 零基础上手:大麦自动抢票从选城市场次到提交订单的完整链路
ticket-purchase 零基础上手大麦自动抢票从选城市场次到提交订单的完整链路【免费下载链接】ticket-purchase大麦自动抢票支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchaseticket-purchase 是一个大麦自动抢票工具用 Appium 驱动安卓设备上的大麦 App串起选城市、选场次、选票档、勾观演人、提交订单这一整条链路另配一套 Selenium 的 Web 端实现兜底。跑通之后你的任务只剩把手机打开停在演出详情页等页面按钮切到立即购买后续点击交给脚本。它替你干了什么整条链路可以拆成输入 → 关键节点 → 输出三段来看。输入是三样东西停在演出详情页的手机、写好的 damai_appium/config.jsonc、以及一个存活在 4723 端口的 Appium 服务。关键节点是脚本接管的七个动作全部发生在详情页之后主流程实现在 damai_appium/damai_app_v2.py按city点中城市站点底部按钮预约和购买两种文案都认在票档区点中price_index指定的第 N 个可点位置按users人数点加号数量从 1 起调点确定购买进入观演人页按users里的姓名批量勾选点立即提交完成下单。输出是订单提交前的那一步if_commit_order为true时走完整下单为false时用它做首次空跑验证。单个节点失败不会直接收手脚本最多尝试 3 次失败后隔 2 秒重新初始化驱动再来一轮。搜索环节不在接管范围详情页之前的事由你手动完成。Web 端兜底实现放在 damai/ 目录damai/config.py 里target_url填详情页地址users、city、dates分别对应观演人、城市与场次。动手前先备齐这三样仓库自带自检脚本 check_environment.sh会逐项检查 Python、Node.js、Appium、Android SDK、ADB、设备连接和配置文件每项给出 ✅ 或 ❌。Windows 用户改跑 Python 版自检 damai/check_environment.py并参考 完整使用指南(PC端).md.md)。先对照下表过一遍项目要求用途环境Python3.9运行抢票脚本环境Node.js20.19.0 / 22.12.0 / 24.0.0运行 Appium环境Appium3.1.0含 uiautomator2 驱动把指令桥接到安卓设备环境Android SDK已设置 ANDROID_HOME / ANDROID_SDK_ROOT管理与设备的通信设备安卓机开启 USB 调试的真机或已完全启动的模拟器承载大麦 App设备App已安装大麦包名cn.damai脚本驱动的目标应用账号登录与观演人大麦已登录观演人已登记提交订单的必要前提分步跑通主流程第 1 步克隆仓库并进入目录操作git clone https://gitcode.com/GitHub_Trending/ti/ticket-purchase cd ticket-purchase预期看到目录下有check_environment.sh、start_appium.sh、start_ticket_grabbing.sh三个脚本以及damai/和damai_appium/两个子目录。不符时先确认 git 可用再重新执行克隆。第 2 步跑一次环境自检操作./check_environment.sh预期看到Python、Node.js、Appium、SDK、ADB、设备、配置文件逐项输出 ✅出现 ❌ 的项下方会直接给安装提示。常见补齐命令npm install -g appium appium driver install uiautomator2 pip install -r damai/requirements.txt补齐后重跑一遍直到红色项清零。卡在 SDK 路径检查上通常是脚本里写死的示例路径见下一步。第 3 步把脚本里的示例路径换成你自己的操作用编辑器打开 start_appium.sh、start_ticket_grabbing.sh、check_environment.sh全局搜/Users/shengwang把两处硬编码替换掉一是 Android SDK 目录三个脚本里都有二是 start_ticket_grabbing.sh 末尾那个 poetry 虚拟环境的 python 解释器路径改成本机可用的 python。预期看到三个脚本里不再出现/Users/shengwang字样再跑一次自检时 SDK 一项变绿。⚠️ 只改配置文件不改脚本的话跑起来仍是路径报错。第 4 步启动 Appium 服务终端 1操作./start_appium.sh预期看到依次打印环境变量已设置 → 检测到 N 个 Android 设备 → 大麦APP已安装 → 启动Appium服务器服务挂在 4723 端口并保持运行。这个终端必须全程开着关掉它脚本就失去连接。看到未检测到 Android 设备就停下先跑adb devices查状态。第 5 步手机停在演出详情页操作打开大麦 App搜出目标演出与配置里的keyword对应进入详情页后不再操作。未开售时底部按钮是预约开售后变立即购买两种文案脚本都能识别所以停在页面上等就行。预期看到页面呈现与下图一致的城市、场次、票档三行信息底部有可点的状态按钮。若提示未登录或观演人列表为空先回 App 里补完。第 6 步触发抢票主任务终端 2操作./start_ticket_grabbing.sh预期看到先回显Appium服务器运行正常和配置文件存在再打印当前的keyword、city、users供你核对输入y后进入循环终端依次刷出选择城市 → 点击预约按钮 → 选择票价 → 选择数量 → 确定购买 → 选择用户 → 提交订单的进度最后给出本次耗时。提示Appium服务器未运行时回终端 1 确认服务还活着。配置逐项拆解移动端行为全部由 damai_appium/config.jsonc 驱动仓库当前默认值{ server_url: http://127.0.0.1:4723, keyword: 周深, users: [王胜, 潘鸿运], city: 深圳, date: 12.06, price: 内场1199元, price_index: 5, if_commit_order: true }字段含义易错点server_urlAppium 服务地址换了端口要同步改这里keyword演出搜索关键词填歌手名或巡演名users观演人姓名数组必须与账号登记逐字一致购票数量也按它的人数来city城市站支持模糊匹配深圳可命中深圳站date场次日期形如12.06price票档的文字描述只供人眼核对不参与点击price_index票档索引从 0 计数5 表示第 6 个if_commit_order是否自动提交订单首次运行先置false空跑两个字段值得单独说明因为它们和行为不完全对得上。其一price_index才是真正瞄准的目标price只是给你对档位的。新版大麦 App 里票档的 Text 是空串按文字找按钮这条路已经走不通damai_appium/app.md 有明确记录脚本改为在票档区容器里点第price_index个可点击位置。所以改配置时要在详情页票档区从上往下数数到目标档位是第几个填序号 - 1。其二city匹配走三级策略先精确匹配文本失败后退回textContains包含匹配最后用 XPath 兜底这也是城市名不必写全的原因。但反过来页面文案一旦改版date的显示格式如12.06变成12月06日就可能不再匹配空跑时重点核对这一步。报错对照表卡住时先在下表里找关键词按行处理报错关键词 / 现象可能原因处理办法Node version must be at least ^20.19.0本地 Node 版本过低升级 Node如brew upgrade node再跑一次自检Neither ANDROID_HOME nor ANDROID_SDK_ROOTSDK 环境变量未设置export两个变量指向你的 SDK 目录并写进~/.bashrc或~/.zshrcUnable to find an active device or emulator设备处于离线态adb devices看状态是否为device模拟器用adb shell getprop sys.boot_completed确认完全启动Connection refusedAppium 未运行或 4723 端口被占curl http://127.0.0.1:4723/status验证端口被占则换端口并同步server_url抢票脚本回显Appium服务器未运行终端 1 的服务被关或已退出重新执行./start_appium.sh再跑抢票脚本点到了不想要的票档索引从 0 计数且页面档位顺序可能变化详情页票档区从上往下重新数改price_index后再开跑开跑前逐条确认环境自检全绿三个脚本里的/Users/shengwang示例路径已替换为本机路径配置已改成目标演出且if_commit_order置false时已空跑通到提交页观演人姓名与账号登记逐字一致人数即计划购票数量Appium 终端保持打开curl http://127.0.0.1:4723/status正常返回手机停在演出详情页账号已登录网络稳定已确认开售时间开抢前一刻才把if_commit_order改为true把配置改成下一场想抢的演出让脚本在开售那一刻接管屏幕上的点击。同时请遵守大麦网使用条款合理使用本工具尊重其他购票者的权益。【免费下载链接】ticket-purchase大麦自动抢票支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

Folia 全屏歌词播放器怎么安装?新手一次装对,从下载到首次播放

Folia 全屏歌词播放器怎么安装?新手一次装对,从下载到首次播放

Folia 全屏歌词播放器怎么安装?新手一次装对,从下载到首次播放 【免费下载链接】folia-major 专注于绚丽的歌词动画效果的本地音乐/navidrome/第三方多平台在线音乐播放器 A multi-platform music player for local files, Navidrome, and online stream…

📅 2026/11/6 8:28:42
懂个锤子Vue VueRouter路由深入浅出

懂个锤子Vue VueRouter路由深入浅出

VueRouter路由深入浅出 VueRouter 介绍: Vue Router 是 Vue.js官方的路由管理器: 极大地简化了在 单页面应用程序 SPA-Single Page Application: 中构建导航和页面切换的复杂性; 单页面应用程序 SPA 单页面应用程序SPA&#…

📅 2026/11/6 8:28:42
三步装完并跑通你的第一个 AI Agent:Hugging Face Agents Course 完整安装指南

三步装完并跑通你的第一个 AI Agent:Hugging Face Agents Course 完整安装指南

三步装完并跑通你的第一个 AI Agent:Hugging Face Agents Course 完整安装指南 【免费下载链接】agents-course This repository contains the Hugging Face Agents Course. 项目地址: https://gitcode.com/GitHub_Trending/ag/agents-course Hugging Face …

📅 2026/11/6 8:28:42
MORE NEWS

更多资讯

📰

Visual Paradigm UML建模:类图、时序图与代码双向工程实践

1. 从一张被推翻的架构草图说起:为什么我还留着 UML 建模工具 去年做一个内部系统的重构评审,会议室里投屏的是一张用在线白板随手画的“架构图”。画得挺好看,圆角矩形、渐变色、图标齐全,但讲到第三个问题时有人问了一句:订单服…

📰

3D可视化技术在智慧通讯业务系统中的应用与实践

1. 项目概述与核心价值 智慧通讯业务办理3D可视化平台是一个面向电信运营商数字化转型的创新型解决方案。我在实际开发中发现,传统通讯业务办理系统存在两大痛点:一是用户难以直观理解复杂的套餐内容和网络拓扑结构;二是营业员培训成本高且业…

📰

C++刷题笔记:数据结构与算法实战技巧

1. C刷题笔记的价值与结构设计 刷题笔记对于程序员来说就像厨师的私房菜谱,记录着解题过程中的关键思路和技巧。我整理C刷题笔记已有五年时间,从最初零散的代码片段到现在系统化的知识库,这套方法帮助我在算法面试中保持了90%以上的通过率。 …

📰

Visual Paradigm建模实战:从UML图到可交付文档

1. 先说说我为什么把它留在工具箱里 做需求和系统设计这些年,装过又卸掉的建模工具没有二十也有十五六个。最后长期留在我机器上的,是 Visual Paradigm 。它不是最轻的,也不是启动最快的,但它是我在“画得快”和“画得准”之间找…

📰

前端性能优化:手动实现HTML代码分割实践指南

1. 为什么我们需要手动实现HTML代码分割 前端性能优化中,代码分割(Code Splitting)是个绕不开的话题。我最近在重构一个企业级后台管理系统时,发现初始打包的main.js体积达到了惊人的8MB,首屏加载时间超过5秒。这让我不…

📰

Advantest:半导体测试设备领域的隐形冠军

1. 测试测量行业的隐形冠军 在半导体测试设备领域,有一家日本企业长期占据着全球市场份额的头把交椅。这家名为Advantest的公司,从1954年创立至今,已经走过了近70年的发展历程。作为半导体产业链中不可或缺的一环,Advantest的测试…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬