news 2026/10/15 3:39:55

大麦网自动抢票指南:如何用 Python 脚本 4 步跑通自动购票流程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大麦网自动抢票指南:如何用 Python 脚本 4 步跑通自动购票流程

大麦网自动抢票指南:如何用 Python 脚本 4 步跑通自动购票流程

【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase

19:30:00,大麦网开票倒计时归零的那一刻,热门演出的票池往往已经见底——手动刷新、点按钮、选观演人,每个动作之间隔着几百毫秒到几秒,拼的是页面加载速度和手速。Automatic_ticket_purchase 是一个大麦网自动抢票脚本:登录之后,它用 requests 直接调用大麦的库存查询、订单确认和提交接口,把剩余动作交给程序,把响应等待从人手级别降到网络级别。

🔍 它替你把哪些手动环节交给了程序

理解这个脚本的价值,看它自动化的四件事就行。整体流程是:登录验证 → 获取购票必备信息 → 轮询票务状态 → 可购时立即提交,对应 Automatic_ticket_purchase.py 里的run()方法。

  • 登录与状态保持:首次运行用 selenium 打开 Chrome 完成账号或扫码登录,登录后把 cookies(证明你已登录的身份凭证)写入cookies.pkl(见 tools.py 的save_cookies),之后每次运行直接读取,不再重复登录。
  • 状态轮询:脚本周期性请求detail.damai.cn/subpage接口,读取目标价位的按钮文案——"即将开抢"就继续等,"缺货登记"立即结束,"立即购买"进入下一步。你不再需要盯着页面刷新。
  • 拼订单请求:tools.py 的get_api_param()会下载并解析大麦的前端 JS,提取下单所需请求参数,再调用orderConfirm拿到提交订单的完整数据;选座购买链路则依赖 signcode.js 为座位接口生成 sign 签名(仅支持抢购指定价位的座位,暂不支持连坐)。
  • 提交订单:在订单数据里勾选你指定的常用购票人后 POST 到createOrder接口,成功时终端打印alipayOrderId和支付宝支付链接。

关键在于:浏览器只参与首次登录,之后的所有请求都由requests完成,这正是它比"在页面上点按钮"更快的原因。

流程清楚后,下面用 4 个步骤把它跑起来。

🛠️ 从 0 到跑通:4 个步骤完成部署

第一步:安装依赖

先克隆仓库并安装 Python 依赖:

git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase cd Automatic_ticket_purchase pip install -r requirements.txt

这条命令安装 requirements.txt 声明的四个依赖:requests负责 HTTP 请求,selenium驱动浏览器,beautifulsoup4解析 HTML,pyexecjs执行 JS。结束后没有红色报错即成功,可用pip list核对这四个包。

第二步:准备 ChromeDriver

登录环节的浏览器自动化需要 ChromeDriver,它是让程序控制 Chrome 的桥接程序。下载与你 Chrome 版本匹配的文件,按操作系统重命名为chromedriver_windows、chromedriver_linux或chromedriver_mac(tools.py 的account_login()按这个固定名字查找),放到项目根目录。版本不匹配时浏览器启动失败或报版本错误;匹配的话,首次运行会自动弹出 Chrome 并打开大麦登录页。

第三步:填写抢票参数

打开 Automatic_ticket_purchase.py,修改DaMaiTicket.__init__中的六个参数:

self.login_id: str = 'account' # 大麦网账号 self.login_password: str = 'password' # 大麦网密码 self.item_id: int = 610820299671 # 商品ID self.viewer: list = ['viewer1'] # 常用购票人姓名 self.buy_nums: int = 1 # 票数, 需与购票人数量一致 self.ticket_price: int = 180 # 指定票价

这六个值决定了脚本为谁、抢哪场、买哪个价位的票,填写依据见下一节。

第四步:运行并确认登录

python Automatic_ticket_purchase.py # 账号密码登录 python Automatic_ticket_purchase.py --mode qr # 扫码登录

--mode只影响登录方式。首次运行会打开大麦登录页,扫码模式需你手动用手机扫码。登录成功后项目目录生成cookies.pkl,第二次起直接跳过登录。

判断成功的信号:脚本不再弹出浏览器而是进入状态轮询;当目标价位变为可购并下单成功时,终端会打印"抢票成功"以及alipayOrderId和支付链接,再到大麦"我的大麦-交易中心"确认订单即可。

跑通之后,绝大多数失败都出在参数配置上,下面看最容易配错的三个。

⚙️ 三个最容易配错的参数,及出错后怎么排查

item_id:在哪个页面、取哪个数字

item_id是大麦为每个演出场次分配的唯一标识,不同城市、不同场次对应不同的 item_id。获取方式:打开目标演出的详情页,在地址栏中找id=后面的数字。

上面示意了大麦网商品详情页地址栏中id=参数的位置。填错的后果是查不到对应场次,状态查询卡住或解析报错。排查思路:确认你打开的是目标城市站点的详情页(切换城市站时地址栏的 id 会随之变化),并确认数字拷贝完整。

viewer 与 buy_nums:必须与常用购票人逐字一致

viewer里的姓名必须来自大麦"我的大麦-常用购票人管理",且逐字一致,空格差异都会导致失败。提交订单前,脚本会把你的列表与服务端返回的购票人名单做交集比对,不一致时打印"请检查输入的观演人信息与大麦网观演人信息是否一致"并退出。

上面示意了大麦网常用购票人管理页面中"姓名"一栏,即你需要填进viewer的内容。这里还有一个硬约束:buy_nums必须等于viewer列表的姓名数量,否则run()开头就打印"购买数量与实际观演人数量不符"并直接退出,连一次请求都不会发出。

ticket_price:要与页面票价精确匹配

ticket_price与页面价格做浮点数相等比较,必须与详情页上的某个票价完全一致;对不上时sku_id为空,流程无法进入购买分支;不填则直接提示"票价未填写"。排查时打开详情页核对价格列表即可。

另外两个接口层面的提醒:其一,get_api_param()解析的是固定版本的前端 JS 文件,大麦更新前端后这一步可能解析异常,需要按代码注释提示自行修正;其二,README.md 已注明项目停止维护,大部分购买方式迁移至手机端且暂无更新计划,遇到接口失效时只能配合抓包自行适配。

配置核对完毕,动手前还有两件事要确认。

📌 开始前的合规提醒与第一步行动

本项目仅用于学习与研究,目的是理解票务平台的接口交互逻辑。使用前请阅读大麦网使用规则与平台条款,保持合理请求频率,不要用于影响正常销售秩序的场景,README 的免责声明也写明了这一点。考虑到项目已不再更新,最稳妥的第一步是:先用--mode qr完成一次登录,确认cookies.pkl生成且下次运行免登录;再挑一场不热门的预售演出,把"状态轮询 → 提交订单"完整走一遍,确认每个环节返回正常后,再为目标演出调整参数。

【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 3:39:06

时序网络瓦解Ⅲ--时序供应链网络中的级联失效和恢复机制

一、概念背景 三种经典级联失效模型。级联失效是指局部节点 / 边的失效会通过负载重分配、邻接影响等方式连锁传导,最终引发全网大范围崩溃的过程,是网络鲁棒性、网络瓦解研究的重要基础方向。 一、容量 - 负载模型(Motter-Lai 模型,2002) 核心原理 这是最经典的负载…

作者头像 李华
网站建设 2026/10/15 3:38:51

华为ENSP实战:ACL访问控制列表从原理到配置排错

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/15 3:38:41

SSM框架在扶贫惠农系统开发中的应用与实践

1. 项目背景与核心价值在乡村振兴战略背景下,如何利用信息化手段提升扶贫惠农政策落地效率,成为基层工作的重要课题。SSM233定西扶贫惠农推介系统正是针对这一需求开发的数字化解决方案。这个系统基于SSM(SpringSpringMVCMyBatis)…

作者头像 李华
网站建设 2026/10/15 3:37:55

Go零基础实战第3期:Mutex与数据竞争

文章目录引言:Mutex与数据竞争一、本篇学习目标与准备二、核心概念与实现思路1. 这个程序在模拟什么2. 什么是数据竞争3. sync.Mutex 是什么4. 为什么 Unlock 要配合 defer5. 为什么读也要加锁6. 为什么不要把内部 map 直接暴露出去7. Reserve 的执行过程8. 锁保护的…

作者头像 李华
网站建设 2026/10/15 3:37:44

supabase-postgres-best-practices - schema-lowercase-identifiers

title: Use Lowercase Identifiers for Compatibility impact: MEDIUM impactDescription: Avoid case-sensitivity bugs with tools, ORMs, and AI assistants tags: naming, identifiers, case-sensitivity, schema, conventions 使用小写标识符以保证兼容性 PostgreSQL 会…

作者头像 李华