大麦抢票脚本 Automatic_ticket_purchase:6 个参数配好,开票瞬间自动下单
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
开票前守着网页狂点刷新,按钮一变就只剩"缺货登记"。Automatic_ticket_purchase 大麦抢票脚本换了个做法:登录后不再碰网页,而是直连购票接口轮询票态,按钮变成"立即购买"的瞬间替你自动下单。
从零跑通:4 步准备 🚀
- 克隆仓库并安装依赖。一条命令拿全源码,再装依赖,requirements.txt 里只有 4 个包(requests、selenium、beautifulsoup4、pyexecjs):
git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase cd Automatic_ticket_purchase pip install -r requirements.txt- 准备 ChromeDriver 浏览器驱动。Selenium(网页自动化库)登录时要驱动一个真实浏览器,必须用与你本机 Chrome 版本匹配的驱动。下载后重命名为 chromedriver_windows、chromedriver_linux 或 chromedriver_mac(按操作系统三选一),放到项目根目录,tools.py 会按系统自动查找。
- 改 6 个参数,全部位于 Automatic_ticket_purchase.py 的
__init__方法里,怎么填看下一节。 - 运行脚本。默认走账号密码登录,偏好扫码就在命令后加
--mode qr:
python Automatic_ticket_purchase.py python Automatic_ticket_purchase.py --mode qr首次登录成功后,cookie(登录凭证)会存入 cookies.pkl,之后每次运行直接复用,不用再登录一遍。
6 个参数怎么填 ⚙️
| 参数 | 含义 | 填写规则 |
|---|---|---|
| login_id | 大麦登录账号 | 仅账号密码登录需要,填你的登录名 |
| login_password | 大麦登录密码 | 仅账号密码登录需要,填你的密码 |
| item_id | 演出在大麦系统里的商品编号 | 取详情页 URL 中id=后面的数字 |
| viewer | 观演人姓名列表 | 与"常用购票人管理"中登记值完全一致 |
| buy_nums | 购买张数 | 必须等于 viewer 列表长度 |
| ticket_price | 目标票价 | 要抢的那一档价格,如 180 |
item_id 区分城市站:同一演出每个城市的编号都不同,以你要抢的场次为准,别抄错站。viewer 一个字符都不能差:多一个空格或与登记值不一致,都会导致校验失败。
脚本内部发生了什么
Selenium 只在登录时登场:打开大麦登录页,你完成账号或扫码登录后,cookie 写入 cookies.pkl,浏览器就退场了。此后全程靠 requests(Python 里发 HTTP 请求的库)直连接口,不经过页面:
- cookies.pkl 存在就直接加载,否则打开登录页走登录流程。
- 校验登录状态,通过才继续,并把 cookie 存盘。
- 用 item_id 查询各档票价和对应的按钮文案。
- 按钮是"即将开抢"就继续轮询,是"缺货登记"直接退出。
- 出现"立即购买",请求 orderConfirm 生成订单信息。
- 提交 createOrder 完成下单,拿到支付宝支付链接。
选座演出会多一段:先拉取座位图,过滤出目标价位的可售座位,挑出与人数一致的座位,再走上面的下单流程。座位接口的签名算法存放在 signcode.js,由 tools.py 里的 execjs 执行。项目已停止维护,购买主流程部分迁移到了手机端,把它当接口逆向的学习素材更稳妥。
两种典型用法
普通票(非选座)
你要的结果:开售瞬间买下指定价位的 2 张票。对应怎么配:item_id指向目标场次,ticket_price指向价位,viewer写 2 个已登记观演人,buy_nums填 2。如何确认成功:控制台出现支付链接后尽快付款,到"我的大麦 - 交易中心 - 订单管理"里能看到这笔订单。
选座购买
你要的结果:抢到指定价位的座位。对应怎么配:ticket_price填目标价位,其余参数照上例填写,脚本自动拉座位图、过滤可售座位、挑出与buy_nums一致的座位提交。如何确认成功:同样输出支付链接,订单进入交易中心。当前版本仅支持同一价位选座,暂不支持连坐,挑座按遍历顺序取,不保证相邻。
出错了先查这张表 🔍
| 现象 | 常见原因 | 处理办法 |
|---|---|---|
| 提示"登录失败" | 账号密码错误,或 cookies.pkl 已过期 | 删除 cookies.pkl,用--mode qr重新扫码登录 |
| selenium 报错,浏览器起不来 | ChromeDriver 缺失、版本不匹配或命名不对 | 下载匹配本机 Chrome 版本的驱动,重命名后放入根目录 |
| 提示"购买数量与实际观演人数量不符" | buy_nums 与 viewer 列表长度不一致 | 把两者改成相等再运行 |
| 提示观演人信息不一致 | 姓名与平台登记信息有出入 | 对照"常用购票人管理"逐项核对,去掉多余空格 |
| 提示"获取购买必备参数异常" | 大麦前端 JS 更新,get_api_param 解析失效 | 对照最新页面 JS 手动重新提取参数 |
值得带走的东西
仓库最直观的价值,是"登录存 cookie、轮询票态、命中即下单"的完整链路,每个请求和解析都摆在明面上。延伸方向:顺着现有代码学抓包,补全已迁移到移动端的下单链路;或把票态查询抽成定时任务,接入通知,做成开售前的常驻值守。MIT 协议,仅供个人学习,请遵守大麦网服务条款。
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考