☰
大麦网抢票脚本 Automatic_ticket_purchase 新手完整教程:3 条命令跑通,6 个参数填对
2026/11/1 1:49:20 网站建设 项目流程

大麦网抢票脚本 Automatic_ticket_purchase 新手完整教程:3 条命令跑通,6 个参数填对

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

Automatic_ticket_purchase 是一个面向学习研究的大麦网自动抢票脚本,用 Selenium 完成登录、requests 发起下单请求。读完本文,你可以在本地把脚本跑起来,配好全部关键参数,并看懂它从登录到下单的完整流程。

先搞清它是什么、能不能用

这个项目的定位是给学习者拆解大麦网 PC 端购票链路用的演示代码,不建议直接拿来当生产工具。它的技术分工比较清晰:首次登录会由 Selenium 打开浏览器完成,默认走账号密码,加--mode qr可以改成扫码;登录之后,查询商品、监控状态、提交订单全部改用 requests 直接发 HTTP 请求,不再依赖浏览器。

脚本会循环盯着目标票价按钮的文字变化:显示"即将开抢"就继续等,"缺货登记"直接结束,"立即购买"或"选座购买"才进入下单环节。V2.1 版本还新增了选座流程,可以指定票价档位并自动挑座位,但选座接口的签名依赖 signcode.js,本地需要先装好 Node.js。

有一点必须提前说明:README.md 已注明项目停止维护,且部分购买链路已迁往手机端,平台更新后接口随时可能失效。动手之前,建议先核对 tools.py 里的接口是否还可用。

把环境备齐

环境上只需要三样东西,缺一样都跑不起来:

  1. Python 3:解释器本体,任意较新版本即可。
  2. Chrome 浏览器:首次登录要靠 Selenium 驱动它。
  3. ChromeDriver:必须与本机 Chrome 版本严格匹配。下载后放到项目根目录,并按系统重命名(比如 Windows 下叫chromedriver_windows),驱动查找逻辑写在 tools.py 的account_login里。

依赖包共四个:requests、selenium、beautifulsoup4、pyexecjs,一条命令就能装完,见下一节。

几条命令跑起来

依次执行下面三条命令:

git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase

把源码拉到本地。

cd Automatic_ticket_purchase && pip install -r requirements.txt

进入项目目录并安装全部依赖。

python Automatic_ticket_purchase.py

启动脚本,默认用账号密码登录并进入购票流程;想改用扫码登录,就追加--mode qr参数。

参数怎么填、值从哪来

需要动手改的参数只有六处,全部集中在 Automatic_ticket_purchase.py 的__init__里。先记两条硬规则:buy_nums 必须等于 viewer 列表的长度,viewer 必须与网站常用购票人逐字一致(含大小写和空格)。

参数含义值从哪来
login_id大麦网账号名你平时登录大麦官网用的账号,仅首次页面登录时使用
login_password大麦网密码同上
item_id目标场次(商品)的唯一编号商品详情页地址栏里的id参数
viewer购票人姓名列表"我的大麦 → 常用购票人"页面里的姓名,须逐字一致
buy_nums购买张数按需求自定,但必须与 viewer 人数相等
ticket_price指定票价档位详情页上你要买的那一档票价数字,如 180

item_id的取法直接看商品页 URL,红框处就是:

注意同一个演出在不同城市站对应的 item_id 不同,切换场次时务必重新核对。

viewer则来自常用购票人管理页,脚本提交订单前会用名单做比对,任何一个字对不上都会被拦截并提示观演人信息不符:

它到底是怎么下单的

整个运行过程分四个阶段,心里有数之后排查问题会快很多:

  1. 登录态检查:启动时先读本地 cookies.pkl;文件不存在或失效,就走 Selenium 打开登录页完成登录,成功后保存 cookies,再请求个人信息页确认登录真的有效。
  2. 信息准备:解析前端 js 拿到后续接口需要的公共参数(选座场景还要经 signcode.js 算出签名),然后拉取目标商品的 SKU 和各票价档位信息。
  3. 状态监控:循环查看目标票价按钮文字,按"即将开抢 / 缺货登记 / 立即购买 / 选座购买"四种状态决定是等待、结束还是进入下单。
  4. 下单请求:先请求订单确认页拿到提交所需参数,从账号常用购票人中勾选对应人员,再发出 createOrder 请求;成功后会打印订单号和支付链接。

让它跑得更稳

  • 开抢前把系统时间与网络时间同步,避免时间偏差影响接口参数。
  • 给关键请求加失败重试,并用逐步递增的退避间隔控制节奏。
  • 挑延迟低、丢包少的网络,别和高负载任务抢带宽。
  • 先在预售期或已散场时段把完整流程跑一遍,确认登录态和参数解析都正常。
  • 项目已停止维护,用前把 tools.py 里的接口逐一核对一遍。

报错速查

现象可能原因处理方式
启动后提示登录失败本地 cookies.pkl 过期,或账号密码填错删掉 cookies.pkl 重新登录
Chrome 打不开或卡在登录页ChromeDriver 与浏览器版本对不上下载匹配版本的驱动,按系统重命名后放进项目根目录
找不到商品或票价档位item_id 填错,或场次还没开售对照商品页 URL 的 id 参数复核,确认售票状态
提示购买数量与观演人数量不符viewer 列表长度和 buy_nums 对不上两者改成相等,例如 2 名购票人就买 2 张
提示观演人信息不一致viewer 姓名与网站常用购票人有细微差别登录大麦网逐字核对姓名后修正
请求超时或参数解析异常网络不稳,或前端 js 更新导致 get_api_param 取参失败换稳定网络重试;按 tools.py 中该函数的注释重新解析参数

写在最后

本项目仅供学习与研究,不构成任何结果承诺。使用时请遵守大麦网及相关平台的使用条款,控制请求频率、不影响平台正常服务;建议先在预售或测试窗口完整验证一遍,再决定后续如何使用。

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询