首页/新闻资讯/正文详情

ticket-purchase:用 Selenium 与 Appium 驱动大麦购票的 Web 与移动端实践

发布时间:2026/9/24 18:17:12 来源:云帆数科 栏目:资讯中心
ticket-purchase:用 Selenium 与 Appium 驱动大麦购票的 Web 与移动端实践
ticket-purchase用 Selenium 与 Appium 驱动大麦购票的 Web 与移动端实践【免费下载链接】ticket-purchase大麦自动抢票支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchaseticket-purchase 是面向大麦网的 Python 自动化购票项目Web 端通过 Selenium 驱动 Chrome 浏览器移动端通过 Appium 驱动 Android 设备按预先写好的配置完成登录、选场次、选票价、勾选观演人并提交订单等操作。本文面向第一次接触它的开发者讲清楚最短的运行路径、每个配置项的含义、运行时如何判断状态是否正常以及它的适用边界在哪里。先明确边界它能做什么不能做什么这个项目适合单一账号、单台设备、针对一场特定演出的自动化练习不适合也不应该被用于绕过平台安全机制。可以做到的开售前持续监测目标票档的可购状态状态变化时按预设参数执行点击流程自动完成登录后的页面跳转、城市/场次/票价匹配、观演人勾选内置重试与元素等待逻辑临时性失败页面未加载完、元素暂未出现会被重新尝试Web 与 Android 两条链路可独立使用也可只跑其中一条需要自己把握的它不能保证一定买到票票源是否充足、开售瞬间的竞争状况都不在它的控制范围内请勿用它批量控制多台设备、绕过验证码或风控、刷接口也不要用获得的票券进行倒卖使用时请遵守大麦网服务条款和当地法律法规建议仅用于个人学习与测试环境并用专门账号操作能力清单这个项目提供什么双端自动化damai/目录实现 Web 端Selenium Chromedamai_appium/目录实现移动端Appium UiAutomator2。由于部分演出仅支持 APP 内购买项目作者将移动端作为重点优化方向见damai_appium/app.md配置驱动演出关键词、城市、日期、票价、观演人名单全部写在 JSON 配置文件里脚本本体不含演出信息持续监测与重试未开售期间按固定节奏轮询页面状态元素查找失败时带间隔重试环境辅助脚本仓库根目录提供check_environment.sh检查环境、start_appium.sh启动 Appium 服务、start_ticket_grabbing.sh启动移动端任务三个脚本Web 端附加能力快速模式缩短固定等待、多格式日期/票价匹配、缺货登记监听开关详见完整使用指南(PC端).md三条上手路径先获取代码以下路径中 clone 地址仅供拉取项目使用git clone https://gitcode.com/GitHub_Trending/ti/ticket-purchase cd ticket-purchase poetry install # 或 pip install -r requirements.txt路径 A移动端推荐覆盖更多演出安装 Node.js20.19.0 及以上与 Appiumnpm install -g appium再执行appium driver install uiautomator2配置 Android SDK 环境变量ANDROID_HOME、ANDROID_SDK_ROOT用adb devices确认真机或模拟器已连接在设备上安装大麦 APP 并手动登录观演人提前在 APP 内添加好编辑damai_appium/config.jsonc填入演出参数运行./start_ticket_grabbing.sh或手动执行python damai_appium/damai_app_v2.py路径 BWeb 端需要最新版 Chrome。按完整使用指南(PC端).md中的模板准备好配置文件字段包括target_url、users、city、dates、prices等然后运行python damai/damai.py。首次运行会提示扫码登录用大麦 APP 扫浏览器中的二维码即可。路径 C只读原理不运行任何代码直接阅读README.md、QUICK_START.md、完整使用指南(PC端).md再对照damai/concert.py与damai_appium/damai_app_v2.py的核心逻辑流程图原始文件在doc/大麦抢票流程.drawio。关键参数怎么填移动端配置在damai_appium/config.jsoncJSONC 格式允许注释Web 端配置字段以完整使用指南(PC端).md中的模板为准。两组配置的核心思路一致先告诉脚本找哪场演出再告诉它买哪一档票、给谁买、要不要替我点提交。字段含义填写建议常见错误target_url演出详情页地址从浏览器地址栏整段复制含查询参数只复制了域名或分享短链导致打开的不是详情页keywordAPP 内搜索词与演出名称一致如歌手名写得太泛搜索结果首页没有目标演出users观演人姓名数组与 APP/网页中登记的姓名逐字一致页面文本带空格或后缀而配置里没有匹配失败city演出城市与页面城市栏文案一致写了广州站而页面是广州以页面为准date/dates场次日期移动端为月.日Web 端支持多种格式写法年份、分隔符与页面显示不一致price/prices票价描述与票档文案一致Web 端可写多个格式变体页面价格后带元或区域说明配置里漏掉price_index票档在列表中的序号从 0 计APP 界面票价文本可能为空靠索引定位需手动数清页面改版后票档顺序变化索引指向了别的档位server_urlAppium 服务地址默认本地 4723 端口服务没启动、端口被占用仍用默认值if_commit_order是否自动点提交订单首次使用建议设为 false人工确认后再改 true未核对订单金额就开启误购max_retries/fast_mode/page_load_delay重试次数、快速模式、页面等待秒数网络慢时调大page_load_delay稳定网络再开快速模式网络一般却把等待压到最低元素频繁找不到Web 端配置文件长这样以项目文档模板为准一次完整使用流程1. 准备信息。打开目标演出的详情页记下地址栏完整链接、城市栏文案、场次日期、目标票档文案和序号以及所有观演人的准确姓名。2. 检查环境。运行./check_environment.sh按提示补齐 Python 版本、Node 版本、Appium、ADB 等依赖。移动端额外确认adb devices能看到设备、curl http://127.0.0.1:4723/status能拿到服务状态。3. 填写配置。按上表把参数写进damai_appium/config.jsonc或 Web 端配置文件。此步最容易出错建议逐项与页面文案对照。4. 启动任务。移动端./start_appium.sh起服务再./start_ticket_grabbing.sh起任务Web 端python damai/damai.py。建议在开售前 30 分钟启动并先完成登录。5. 观察状态。正常时日志会依次出现配置加载成功、环境检查通过、登录提示Web 端扫码、各选项匹配成功、进入轮询。看到匹配成功与轮询输出说明参数基本正确脚本在等待开售。6. 处理异常。未开售前任务应保持静默轮询而非报错退出一旦匹配失败、连接失败对照下一节的表格定位。运行状态判断与常见异常现象可能原因处理方式启动即报 Node 版本不满足^20.19.0等范围本机 Node 太旧升级 Node 后重装 Appium提示找不到ANDROID_HOME/ANDROID_SDK_ROOT环境变量未设置或当前 shell 未加载写入~/.bashrc后重新source或运行脚本时临时 exportadb devices列表为空真机未开 USB 调试、模拟器未启动、数据线问题启动模拟器或重插设备确认为device而非offlineAppium 连接被拒绝4723 端口服务未启动或端口被占用检查占用进程后以指定端口重启并同步改server_url反复提示某用户名元素未找到页面未加载完姓名与页面文本不一致空格、后缀调大page_load_delay、关闭快速模式看扫描日志用浏览器开发者工具核对页面确切文本票价/场次匹配不上文案与配置不一致或 APP 改版后靠索引定位的票档变了重新打开详情页逐字比对文案移动端需重数price_index元素等待超时页面结构变化或网络卡顿先手动操作一遍页面确认流程仍成立再调大超时与重试参数Web 端报 ChromeDriver 版本不匹配驱动与浏览器版本不一致重新运行脚本让其自动安装或执行python damai/check_environment.py检查登录后很快又要求登录会话过期重新扫码避免用很久没活动的旧会话低风险优化建议网络优先用稳定网络关闭占带宽的程序移动端脚本的 capabilities 里已有降低截图帧率、禁用窗口动画等设置不必自行再叠加渐进开启自动提交第一轮把if_commit_order设为 false确认能稳定走到订单确认页后再改为 true多格式容错Web 端的dates、prices支持写多个格式变体页面文案稍有出入时命中率更高记录日志保留每次运行的控制台输出异常时匹配成功/失败出现在哪一步比报错堆栈更有诊断价值单设备单任务同一账号、同一设备只跑一个任务避免多脚本并行带来的异常请求下一步可以看什么移动端整体设计与已知局限damai_appium/app.md移动端主逻辑damai_appium/damai_app_v2.pyWeb 端主逻辑damai/damai.py与damai/concert.py完整 Web 端参数、快速模式与排查清单完整使用指南(PC端).md流程全貌doc/大麦抢票流程.drawio及README.md中的项目结构说明把环境跑通、参数和页面文案对齐是使用这个项目时最有价值的两件事。自动化缩短了从票可买到点下提交的时间但票能否买到仍取决于票源本身请合理预期。【免费下载链接】ticket-purchase大麦自动抢票支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Python卷积神经网络CNN图像分类毕设:TensorFlow与PyTorch双框架实战
Python卷积神经网络CNN图像分类毕设:TensorFlow与PyTorch双框架实战

简介:这份资源是面向高校计算机相关专业毕业设计场景的完整项目包,围绕Python卷积神经网络CNN实现图像分类系统展开,适合正在准备毕设、需要可运行参考项目的学生,以及希望系统梳理CNN经典网络结构的学习者。包内共21个文件&#… · 2026/9/24 18:17:12

基于Python卷积神经网络CNN图像分类系统源码解析与实战
基于Python卷积神经网络CNN图像分类系统源码解析与实战

简介:这份资源面向计算机相关专业的本科毕业生及需要完成课程设计的学生,提供一套基于Python卷积神经网络CNN的图像分类系统完整实现方案,帮助解决毕业设计选题难、代码跑不通、文档不齐全等常见问题。压缩包共21个文件,约62KB&am… · 2026/9/24 18:17:12

YOLO灯光检测自训数据实战:从采集标注到训练避坑
YOLO灯光检测自训数据实战:从采集标注到训练避坑

简介:这份资源面向计算机视觉入门与进阶开发者,提供一套基于YOLOv5的灯光检测自训练数据与完整工程代码,可用于自动驾驶、安防监控、无人机导航等场景下的灯光目标识别与定位练习。压缩包共1580个文件,约603.83MB,其中… · 2026/9/24 18:17:12

C盘清理全攻略:7款免费磁盘分析工具与实操技巧
C盘清理全攻略:7款免费磁盘分析工具与实操技巧

1. C盘飘红这件事,到底难在哪C盘飘红几乎是每个Windows用户都会遇到的经典问题。你正赶着交方案,或者游戏刚加载到一半,右下角突然弹出一个“磁盘空间不足”的提示,低头一看C盘那条进度条已经红得发紫。更让人抓狂的是&#xff0c… · 2026/9/24 19:58:02

C盘爆满怎么清理?7款免费磁盘分析工具与实操指南
C盘爆满怎么清理?7款免费磁盘分析工具与实操指南

1. 先搞清楚C盘为什么"飘红",再谈清理C盘飘红这件事,几乎每个用Windows的人都遇到过。你正干活干到一半,右下角突然弹个提示"磁盘空间不足",打开"此电脑"一看,C盘那条进度条红得刺眼。第… · 2026/9/24 19:58:02

Kata Containers落地实践:从runc切换的隔离方案与性能调优
Kata Containers落地实践:从runc切换的隔离方案与性能调优

1. 为什么我把集群的默认运行时从 runc 换成了 Kata Containers先讲一段我自己经历过的场景。之前我负责一个多租户的数据分析平台,用户会上传自己写的 Python 脚本和模型,在 Kubernetes 集群上跑批处理任务。功能上线半年后,安全团队做了次威… · 2026/9/24 19:58:02

构建与发布Compositor完全指南:Xcode编译、Developer ID签名、公证与自动更新
构建与发布Compositor完全指南:Xcode编译、Developer ID签名、公证与自动更新

构建与发布Compositor完全指南:Xcode编译、Developer ID签名、公证与自动更新 【免费下载链接】Compositor The Photoshop alternative for Mac 项目地址: https://gitcode.com/gh_mirrors/compos/Compositor Compositor 是一款免费开源的 Mac 图像编辑器&am… · 2026/9/24 19:58:02

Humanizer 的 IGrammaticalCaseTimeSpanHumanizeStrategy:让 TimeSpan 时长文本按语法格(Grammatical Case)本地化
Humanizer 的 IGrammaticalCaseTimeSpanHumanizeStrategy:让 TimeSpan 时长文本按语法格(Grammatical Case)本地化

开发工具 【免费下载链接】Humanizer Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities 项目地址: https://gitcode.com/gh_mirrors/hu/Humanizer 点击查看 免费下载 导读 … · 2026/9/24 19:58:02

十六进制与RGB色值转换全攻略:从手算原理到在线工具实战
十六进制与RGB色值转换全攻略:从手算原理到在线工具实战

做设计这一行的,几乎没人能躲开颜色值的忽然切换。上午还在和开发对稿,前端丢过来一串#2C3E50,让你确认下这个颜色是不是品牌标准色;下午要导出一个给印刷厂的物料,对方又问你要 RGB 数值是多少。很多刚入行的设计师看… · 2026/9/24 19:57:54

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码