ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

大麦抢票自动化实操:三步从环境搭好到订单提交

大麦抢票自动化实操:三步从环境搭好到订单提交 大麦抢票自动化实操三步从环境搭好到订单提交【免费下载链接】ticket-purchase大麦自动抢票支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase如果你经历过热门演出开售时页面一直转圈、手速再快也抢不到的情况开源项目ticket-purchase或许值得一试。这个大麦抢票自动化工具用 Selenium 驱动 PC 浏览器、用 Appium 驱动安卓 App自动完成从登录、选观演人、选城市场次价格到提交订单的全流程。本文带你走一遍环境搭建、参数配置、实际运行和排错的完整路径零基础照着做也能跑起来。大麦抢票工具能替你做什么简单说它替你接管手和眼。程序启动后会自动依次执行检查环境 → 打开浏览器或连接手机→ 扫码登录未登录时→ 进入演出详情页 → 匹配城市、场次、票价 → 选择购票数量 → 持续轮询立即预订按钮 → 勾选观演人 → 点击立即提交。有两件事需要你在用之前理解抢几张票由你配置的观演人决定users里写 2 个姓名就自动购 2 张目标场次如果缺货程序可以监听缺货登记状态等票放出来再动作。⚠️ 本项目仅供学习和研究使用请勿用于商业用途。请遵守大麦网使用条款使用自己的账号不要同时运行多个抢票脚本。双通道抢票先选大麦网页端还是 App 端项目把两套完整实现分在两个目录里动手前先决定走哪条通道通道目录驱动方式适用场景网页端damai/Selenium 驱动 Chrome演出支持大麦网网页购买移动端damai_appium/Appium 驱动安卓 App演出只能在 App 端购买选择建议大麦的相当一部分门票只能在 App 端购买想覆盖更多演出就优先移动端如果目标演出网页端也开售且你的电脑环境更稳定PC 通道上手更简单。下文两条通道都会讲到。上面是典型的大麦演出详情页。城市标签、场次、票价按钮、地址栏这几处就是下一节配置里要抓的四个值。三步完成大麦抢票环境搭建第 1 步克隆项目并安装 Python 依赖两条通道通用电脑需要 Python 3.9macOS / Windows / Linux 都支持。克隆代码后安装依赖git clone https://gitcode.com/GitHub_Trending/ti/ticket-purchase cd ticket-purchase pip install -r damai/requirements.txt也可以用 Poetry 管理依赖poetry install两者都可以。第 2 步网页端通道——装好最新版 Chrome只需安装最新版 Chrome 浏览器。ChromeDriver 会由脚本自动下载并匹配版本不需要手动找驱动文件。第 3 步移动端通道——装 Node.js、Appium 和 Android SDK移动端比网页端多三样东西Node.js版本必须是 20.19.0、22.12.0 或 24.0.0用node --version确认Appium 3.1.0npm install -g appium全局安装再装驱动appium driver install uiautomator2Android 环境装好 Android SDK 并配置ANDROID_HOME与ANDROID_SDK_ROOT环境变量启动模拟器或连上开启 USB 调试的真机用adb devices能看到设备即可。装完跑一次项目自带的环境检查脚本./check_environment.sh它会逐项检查Python、Node.js 版本兼容性、Appium 是否安装、Android SDK 路径是否存在、ADB 是否可用、设备是否连接、大麦 App 是否已装、Appium 服务器是否在运行、配置文件是否存在。全部打钩就可以安心开工。 项目附带的 start_appium.sh 和 start_ticket_grabbing.sh 两个脚本里Android SDK 路径写死成了作者的 macOS 路径。换机器使用前先打开脚本把自己的 SDK 路径替换掉。从演出详情页抓 5 个值完成大麦抢票配置所有抢票策略都写在配置文件中。两条通道要抓的是同样 5 个值演出链接、观演人、城市、场次、票价。以 PC 端详情页为例具体抓法target_url打开目标演出详情页复制地址栏里的完整地址users你在大麦账号里已实名添加的观演人姓名必须与页面展示完全一致包括空格、后缀city页面上城市标签的文字如广州dates / date目标场次的日期如2023-10-28prices / price目标票价按钮上的文字如1039或内场1199元。上图把这几个值在详情页上的位置都标了出来。地址栏、城市、场次、票价就位后配置就完成了一半。网页端写入 damai/config.json主要字段index_url大麦首页、login_url登录页、target_url详情页链接、users、city、dates数组可写多个日期、prices数组可写多个票价、fast_mode快速模式、if_listen缺货登记监听、if_commit_order自动提交订单、max_retries最大重试次数默认 1000、page_load_delay页面加载等待秒数默认 2。移动端写入 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 }字段说明keyword是搜索关键词工具靠它在大麦 App 里找到目标演出price_index是目标票价在页面中的序号从 0 开始数。之所以需要它是因为 App 新版界面上票价按钮的文本可能是空串没法靠文字找按钮只能按索引定位所以要提前手动写进去。 网页端支持模糊匹配dates和prices可以写多种格式比如2026-04-11、4月11日、2026.04.11680、¥680、680元。候选写得越全越不怕页面文字和你配置的不一样。⚠️ 最常见的两个配置错误users与账号实名信息不一致程序会找不到观演人city与页面文字差一个空格。正式跑之前对着页面逐字核对一遍。运行大麦抢票脚本三步走完下单全流程移动端通道推荐启动 Appium 服务器运行./start_appium.sh脚本会自动设置环境变量、检查 Node 版本、确认设备和大麦 App 就绪然后启动 4723 端口的服务器也可以手动执行appium --port 4723准备好手机在设备或模拟器上打开大麦 App登录账号搜索目标演出停在演出详情页开始抢票运行./start_ticket_grabbing.sh。它会先检查 Appium 服务器是否在运行、配置文件是否存在打印当前keyword、city、users等你输入y确认后才会真正启动。如果脚本在你机器上跑不通也可以手动进damai_appium目录执行python damai_app_v2.py记得先设好ANDROID_HOME和ANDROID_SDK_ROOT。网页端通道配置好后在项目根目录运行python damai/damai.py或cd damai后python damai.py。程序先做环境检查打印 Chrome 版本、ChromeDriver 是否就绪然后打开浏览器在登录页暂停等你用大麦 App 扫码登录。登录完成之后剩下的全自动。两条通道的内部流程一致流程图如下从图里值得记住的节点登录优先复用已有 cookie没有才弹扫码加载购票信息后程序持续检测购票状态——目标票可抢购就进入购买并提交订单缺货则走缺货登记即将开抢状态会循环回去继续盯。影响大麦抢票成功率的五个调优参数配置文件里还有几个开关直接决定快不快和敢不敢自动提交。第一次抢票建议按下面调fast_mode快速模式开启后所有等待被压缩轮询间隔从 1 秒降到 0.3 秒详情页选择时间缩短 70% 以上整体省好几秒。首次使用建议先关掉观察流程跑顺了再打开if_commit_order自动提交订单首次使用设false在订单确认页手动核对金额和票务信息后再提交防止误下单跑顺了再设truemax_retries最大重试次数默认 1000要卡开售准点抢可以调到 5000page_load_delay页面加载等待默认 2 秒网络慢或经常报找不到观演人就加到 3~5 秒if_listen缺货登记监听保持开启目标场次缺货时程序会登记缺货等回流票。参数之外时机同样重要。参考节奏提前 30 分钟启动脚本提前 10 分钟完成登录提前 5 分钟打开详情页。抢票时尽量用有线网络关闭其他占带宽的程序。⚠️ 不要同时运行多个抢票脚本更不要用来倒卖门票。请求越频繁、实例越多越容易触发平台风控。大麦抢票常见报错排查五种报错信息的解法刚搭环境时最容易撞上下面五类报错解法项目 README.md 里都有1. Node version must be at least ^20.19.0Node.js 版本太低macOS 上brew upgrade node升级或安装任一兼容版本。2. Neither ANDROID_HOME nor ANDROID_SDK_ROOT environment variable was exportedAndroid SDK 路径没设置。执行export ANDROID_HOME/你的/android/sdk和export ANDROID_SDK_ROOT...并写进~/.zshrc或~/.bashrc持久化。3. Unable to find an active device or emulator没连上设备adb devices查看真机要开 USB 调试模拟器要先启动完成adb shell getprop sys.boot_completed可以确认设备是否已完全开机。4. Connection refusedAppium 连不上Appium 服务器没启动、4723 端口被占用、或配置里server_url写错。用curl http://127.0.0.1:4723/status验证服务器是否活着。5. ChromeDriver 版本不匹配SessionNotCreatedException网页端直接重跑脚本即可驱动会自动下载匹配版本仍不行就执行python damai/check_environment.py手动检查。另外网页端如果提示未找到观演人元素多半是页面没加载完或姓名格式对不上先加大page_load_delay再关掉fast_mode看扫描输出确认页面实际展示的文字可能多了空格或后缀。程序内置了观演人扫描重试机制每 0.5 秒重试一次、最多 5 次能兜住大部分页面慢半拍的情况。收尾与资源指引回顾整条链路克隆代码 →./check_environment.sh检查环境 → 从详情页抓 5 个值写进配置 → 启动 Appium、手机上停在详情页 → 一键开抢。第一次跑建议把if_commit_order关掉先完整走一遍流程确认每个环节都正常再打开自动提交正式开抢。后续用到的资料项目里都备好了获取代码git clone https://gitcode.com/GitHub_Trending/ti/ticket-purchase快速上手QUICK_START.md 列了完整的三步命令详细文档README.md移动端为主含安装与排错、完整使用指南(PC端).md.md)网页端为主含参数表与性能对比、damai_appium/app.mdAppium 启动参数与 V2 版优化说明反馈渠道bug 和功能建议通过项目的 Issue 系统提交也欢迎直接提交 PR 参与改进。祝你抢票顺利现场见。【免费下载链接】ticket-purchase大麦自动抢票支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表