大麦网 Python 抢票脚本:从参数配置到跑通的完整指南
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
开票那一秒,你连刷三下页面,弹出的还是"暂无库存"。开源项目 Automatic_ticket_purchase 是一个大麦网 Python 抢票脚本,把登录、盯票、下单交给代码执行,你只负责最后付款。
📌 项目定位:一个跑在本机的大麦网自动购票脚本
它瞄准哪场演出,靠的是 URL 里那个id参数——脚本称之为item_id,同一场演出在不同城市对应不同的值。Automatic_ticket_purchase 当前版本 V2.1,是一个跑在自己电脑上的 Python 抢票脚本:selenium 打开登录页拿到 cookies,之后全部由 requests 直连大麦 PC 端接口,成功后在终端打印支付宝支付链接。README 开头注明项目已停止维护,大部分购买方式已迁移至手机端,接口如有变动需自行抓包核对。
- 账号密码或扫码(
--mode qr)两种登录,Cookie 写入cookies.pkl,再次运行免登录 - 主循环轮询目标价位的按钮状态,区分 即将开抢 / 缺货登记 / 立即购买 / 选座购买 四种结果
- V2.1 新增选座购买:按指定票价挑可售座位,暂不支持连坐
✅ 上手流程:抢票脚本参数配置与启动顺序
- 装依赖:克隆仓库,安装 依赖清单(requests、selenium、beautifulsoup4、pyexecjs 共 4 个包):
git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase pip install -r requirements.txt- 放浏览器驱动:下载与系统匹配的 ChromeDriver,重命名为
chromedriver_windows、chromedriver_linux、chromedriver_mac之一,放到项目根目录,脚本按平台名查找。 - 改参数:编辑
Automatic_ticket_purchase.py的__init__,参数说明如下:
| 参数 | 作用 | 取值来源 |
|---|---|---|
login_id/login_password | 大麦账号与密码,仅账号登录模式用到 | 自己的大麦账号 |
item_id | 商品 id,决定抢哪场演出 | 演出页 URL 的id参数 |
viewer | 观影人姓名列表,需与网站端一字不差 | 大麦网"常用购票人管理"页 |
buy_nums | 购票数量,必须等于观影人数 | 自定 |
ticket_price | 目标票价,如 180 | 演出页票价档位 |
- 启动:首次运行没有
cookies.pkl,走页面登录(账号或扫码),成功后自动保存 Cookie:
python Automatic_ticket_purchase.py python Automatic_ticket_purchase.py --mode qr- 等开抢:主循环持续查询按钮状态,"即将开抢"时空转,切到"立即购买"后依次调用下单接口;终端打印
alipayOrderId与支付链接后,去 我的大麦 → 交易中心 → 订单管理 完成支付。
提升成功率的三点:
- 开抢前几分钟启动即可,循环会在"即将开抢"状态下空转,状态一变立即进下单分支
- 用有线网络,关掉占用带宽的程序
- 主循环本身连续轮询、无人工延迟,不要同时开着浏览器反复刷新同一场次
工作原理:一条分拣线式的模块分工
这套 Python 抢票脚本的分工可以看成一条快递分拣线:selenium 只在入口完成"取号"——打开登录页、拿到 cookies;此后 requests 把每个请求当作包裹,直接送上detail.damai.cn、buy.damai.cn的传送带,跳过页面渲染;tools.py 存放分拣规则——解析接口参数、挑选座位;cookies.pkl是存根抽屉,下次运行先查它。
关键技术点:
- requests 直连接口:查票、进订单确认页、提交
createOrder三步都不渲染页面 - selenium + ChromeDriver 只服务登录,拿到 cookies 后不再使用浏览器
- Cookie 持久化:先经
check_login_status验证,通过才写入cookies.pkl - 票源轮询:主循环反复请求 subpage 接口读取按钮状态,"即将开抢"时继续空转;选座链路另用 execjs 执行 signcode.js 计算接口签名
🔍 跑不通自查:抢票脚本跑不通的五步排查
- 网络:先确认浏览器能正常打开对应的演出页。
- 目标 ID:核对
item_id与 URL 一致,且城市选对,同城不同场次的 id 不同。 - 登录态:终端提示"登录失败"时删除
cookies.pkl重新登录;观演人姓名需与网站端完全一致。 - 开售时间:确认场次时间与票价档位,状态若已是"缺货登记",脚本会直接结束,这属正常。
- 日志:出现"获取购买必备参数异常"时,多为站点前端 JS 变动,需对照最新页面 JS 重新整理 tools.py 中
get_api_param的正则。
合规红线:四条使用边界
- 仓库遵循 MIT 许可,定位是个人参考学习,把代码用于商业倒卖超出授权范围。
- 控制请求频率,主循环已是连续轮询,不要再叠加多实例并发请求同一接口。
- 只为自己和身边人购票,不囤票、不倒卖。
- 抢到票后立即停止脚本运行,尽快到订单页完成支付。
这个 Python 抢票脚本的价值,在于把重复操作固化成确定流程,省下盯屏和手速;若你发现接口变动或想补充文档,可以直接提 issue 或发 PR。
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考