尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

快速上手 dm-ticket:三步跑通大麦网自动购票

快速上手 dm-ticket:三步跑通大麦网自动购票 快速上手 dm-ticket三步跑通大麦网自动购票【免费下载链接】dm-ticket大麦网自动购票, 支持docker一键部署。Damai automatically purchases tickets, running in docker container.项目地址: https://gitcode.com/gh_mirrors/dm/dm-ticketdm-ticket 是一个用 Rust 编写的大麦网自动购票工具终端扫码登录后你只需在菜单里选演唱会、选票档开抢瞬间它会自动生成并提交订单整套环境还能用 Docker 一条命令拉起。这篇教程带你把它跑起来再回头看它内部是怎么分工的。dm-ticket 能替你做哪些事它覆盖的不是刷接口而是完整的人手流程扫码登录程序从 API 拿二维码打印到终端你用大麦 App 扫扫完自动换取完整 cookiecookie 是网站用来识别你是谁的一串凭证。选票交互从今日必抢/即将开抢列表里挑演唱会再选场次、票档、数量全程终端菜单操作。定时开抢按官方开售时间 优先购时长 时间偏移量算出实际发单时刻倒计时归零后连续生成订单、提交订单失败按你设的间隔重试。它内部其实是两个进程配合dm-client你交互用的那个终端客户端登录、选票、下单都走它代码在 src/client.rs。dm-server后台服务通过无头 Chromechromedriver 驱动的、看不到界面的浏览器访问登录页抓取大麦的反爬令牌存进 Redis 供下单请求使用代码在 src/server.rs。三行命令启动大麦抢票容器前提只有一个机器上装好 Docker 和 docker-compose一个用 YAML 文件定义并启动容器服务的编排工具。仓库里没有独立的 config 目录docker-compose.yml 就是全部的启动描述拉取classmatelin/dm-ticket:latest镜像、容器固定命名dm-ticket、崩溃自动重启。镜像由 Dockerfile 构建容器启动脚本 scripts/start.sh 会同时拉起 Redis 和 supervisord一个守护多个进程的小工具配置见 supervisord.confdm-server 与 chromedriver 就挂在它下面。# 1. 拿到代码 git clone https://gitcode.com/gh_mirrors/dm/dm-ticket cd dm-ticket # 2. 启动容器首次会拉取镜像 docker-compose up -d # 3. 进入交互式抢票任务 docker exec -it dm-ticket dm-client执行第三步后你会看到终端菜单从扫码登录开始。通过六轮对话完成一次抢票dm-client跑起来后就是连续几轮选择每轮都有默认值直接回车也能走登录方式选扫码登录终端会打印二维码用大麦 App 扫并在手机上确认如果已有现成 cookie也可以直接粘贴程序会校验其中必须含cookie2字段。选演唱会列表来自今日必抢 即将开抢两个接口只显示演唱会类目每项带开抢时间。选场次、4.选票档都是从上一步详情里拉出来的下拉菜单。填参数购票数量1–4 张以及下表中的抢票参数。确认程序回显任务摘要进入倒计时。参数默认值说明重试次数5 次下单失败后最多再试几轮重试间隔100 毫秒两轮重试之间的等待生成-提交订单间隔30 毫秒建单后隔多久再提交请求时间偏移量0 毫秒负数提前发包、正数推迟范围 -100 ~ 1000优先购时长0 分钟正式开抢比优先购早多少分钟开卖跑起来之后看什么任务确认后终端会打印你选定的票、场次、票档、数量和实际抢票时间 官方开售时间 请求时间偏移量 优先购时长然后是倒计时倒计时归零后进入下单循环。看到下面这种日志说明请求被风控拦了——B-00203、RGV587都是大麦反爬体系的错误码出现这种情况先别慌着改参数多数票品如今已不支持 h5 端下单工具根本进不了下单环节再怎么调间隔也无效。项目作者在 2023 年 7 月已声明停止更新所以把它当学习 Rust 异步网络请求 chromedriver 自动化的样例来读比指望它真抢到票更实在。另外两点要知道实名购票人按填写顺序自动取前 N 位买 2 张就用你账号里的前两个实名人。只支持 h5 可购买的票不支持选座票。动手之前先看两份文件如果准备真跑建议先花两分钟看两处docker-compose.yml 里有一段被注释掉的deploy.resources解开就能给容器限 CPU 和内存避免倒计时瞬间吃满机器。dm-server 靠环境变量TOTAL_TOKEN_NUM令牌库存上限和BATCH_TOKEN_NUM每轮批量抓取数控制抓取节奏仿照.env.example建一个.env就能覆盖。跑通之后下一步可以做的事不少把 src/ticket.rs 的下单主循环读一遍弄懂生成订单—提交订单—退避重试三步怎么串或者改一下重试间隔和数量观察失败日志里耗时的变化体会毫秒级参数对抢票窗口的影响再往后可以试试把容器跑在更靠近大麦源站的机房里对比同一参数下的成功率差异。【免费下载链接】dm-ticket大麦网自动购票, 支持docker一键部署。Damai automatically purchases tickets, running in docker container.项目地址: https://gitcode.com/gh_mirrors/dm/dm-ticket创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表