新闻详情

新闻详情

首页 / 资讯中心 / 详情

大麦 Python 自动化抢票实战笔记:Selenium + Appium 双通道跑通一次开票

发布时间:2026/11/13 3:18:53来源:尧图网络
大麦 Python 自动化抢票实战笔记:Selenium + Appium 双通道跑通一次开票
大麦 Python 自动化抢票实战笔记Selenium Appium 双通道跑通一次开票【免费下载链接】ticket-purchase大麦自动抢票支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase开票前 2 分钟还在手动刷新大麦页面这个 ticket-purchase 项目把点击交给 Python 自动化Web 端用 Selenium 驱动 Chrome 打开演出详情页移动端用 Appium 驱动 Android 大麦 APP双通道并行。观演人、城市、场次、票价提前配好开票瞬间由脚本完成操作。Web 端与移动端两条通道怎么分工Web 端Android 移动端技术框架SeleniumChrome 最新版Appium 3.1.0 uiautomator2 驱动配置文件damai/config.jsondamai_appium/config.jsonc启动命令cd damai python damai.py./start_appium.sh再./start_ticket_grabbing.sh适用场景有票页链接电脑前值守真机或模拟器贴近 APP 真实操作两条通道干的是同一件事比别人先点到提交订单。差别在执行环境和定位方式——Web 端靠页面 URL 和 DOM 元素移动端靠控件 ID 和 UiAutomator2 表达式后面调参时的手感也不一样。跑起来之前环境和依赖核对清单Python 3.9Poetry 或 pip 可用Node.js 20.19.0或 22.12.0、24.0.0移动端必装npm install -g appium完成且执行过appium driver install uiautomator2Android SDK 就位ANDROID_HOME/ANDROID_SDK_ROOT已设置adb devices能看到设备项目依赖装好poetry install或pip install -r requirements.txtPC 端装了最新版 Chrome只跑 Web 端可跳过 Node/Appium 相关项清单勾完后先跑一遍项目自带的环境自检脚本Python、Node、Appium、SDK 会逐项给你结果./check_environment.sh大麦配置项对应页面哪个区域打开大麦演出详情页和抢票有关的区域就三块顶部的城市选择、中部的场次日期区、下部的票价列表。配置文件本质是把这三块加上观演人和开关写下来。移动端在damai_appium/config.jsonc里配置。keyword是 APP 里的搜索词city、date、price分别对应上面三个区域users是要勾选的观演人姓名必须提前在大麦 APP 里添加过。有个容易忽略的细节APP 里部分票价节点的文本是隐藏的脚本不靠文字定位而是用price_index从 0 开始的序号在票价容器里数到第几个再点这个值要对着页面数。Web 端在damai/config.json里配置。入口是target_url直接从浏览器地址栏复制演出详情页链接不需要再找元素。dates和prices都是数组想盯多个场次或多档票面价就往里加。if_listen是持续监听开关开着脚本会在开售前一直守着页面if_commit_order控制选完观演人后是否自动点提交。移动端最小配置长这样{ server_url: http://127.0.0.1:4723, keyword: 周深, users: [王胜, 潘鸿运], city: 深圳, date: 12.06, price: 内场1199元, price_index: 5, if_commit_order: true }Web 端对应配置{ index_url: https://www.damai.cn/, login_url: https://passport.damai.cn/login, target_url: https://detail.damai.cn/item.htm?id..., users: [陈伟成, 李晓婷], city: 杭州, dates: [2026-04-11], prices: [680], if_commit_order: false, max_retries: 10000 }从开票前 30 分钟到订单提交一次完整抢票移动端主逻辑在damai_appium/damai_app_v2.py按时间线走是这样的Web 端damai/damai.py节奏类似只是元素定位换成 DOM开票前 30 分钟启动 Appium 服务器和脚本确认 APP 停在演出详情页且登录态有效脚本会先检查再进主流程。脚本先点预约/购买按钮随后对按钮状态做循环轮询不开票时这一圈什么都不发生。开票瞬间按钮变可点击立即触发单次点击耗时压到 50ms 左右。进入下单页后依次选城市、场次、目标票价再点加号把数量加到观演人人数。观演人列表按users里的姓名逐个批量勾选。点提交if_commit_order为 true 时直接完成下单控制台打印整个流程耗时。提速与调参按收益从大到小改四处等待时间是最大的成本。damai_app_v2.py里 capabilities 关了窗口动画disableWindowAnimationupdate_settings把waitForIdleTimeout设为 0、waitForSelectorTimeout从 500ms 压到 300ms。抢票场景下这些零等待比别的优化都值钱自己加逻辑时别把显式等待放宽回去。坐标点击替代常规点击。ultra_fast_click不等元素进入可点击状态拿到元素 rect 后用mobile: clickGesture按坐标点下去duration 只有 50ms。代价是元素没就绪时会落空所以它配了备用选择器和重试兜底。重试保证流程不死。移动端run_with_retry默认 3 次失败后重建 driver 再来Web 端靠max_retries配置文件里可以到 10000加if_listen长时监听适合余票释放这种不定时场景。两处思路一致单次操作可以快整体链路必须能扛住偶发失败。多设备并行放在最后一步。多台真机各配一个 Appium 端口各自跑一份damai_app_v2.py。并行是把已验证流程复制 N 份先让单设备跑稳再谈加设备。踩坑速查Node 版本、ADB 与端口冲突Node 版本报错启动 Appium 时抛Node version must be at least ^20.19.0 || ^22.12.0 || 24.0.0。原因是 Node 版本低于 Appium 3.x 的门槛brew upgrade node或重装到兼容版本即可。adb devices列表为空设备根本不可见。原因是没开 USB 调试或首次连接没点授权重新插拔后在设备上允许调试再执行adb devices确认。Appium 连接被拒绝脚本报 Connection refused。原因要么是 4723 端口没起服务要么被旧进程占着用lsof -i :4723找出占用进程或者换个端口起appium --port并同步改server_url。这个项目适合谁适合想动手学 Selenium 和 Appium 的人两套脚本都能直接当教材看改改配置也能跑真实场景。代码仓库git clone https://gitcode.com/GitHub_Trending/ti/ticket-purchase。实操建议用自己的测试账号、把操作频率控制在合理范围并遵守平台规则。【免费下载链接】ticket-purchase大麦自动抢票支持人员、城市、日期场次、价格选择项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/13 0:43:49

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/12 23:59:09

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/12 9:50:02

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/12 9:25:38

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/12 15:57:44

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/13 0:02:27

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉