大麦抢票脚本快速上手:3步配置参数,开售即自动下单
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
热门演出中午开售,页面瞬间挤满,购买按钮一直转圈。人工点完确认,已经过去好几秒,票已经没了。
这个项目是一个开源大麦抢票脚本,当前版本V2.1,支持普通抢票与选座购买两种流程。登录后通过3次接口调用完成"取票信息→确认订单→提交订单"。
🎯 这个项目能帮你做什么
思路是把"在浏览器里点按钮"换成"直接调接口":登录后,脚本用requests向大麦网接口发HTTP请求,不再等待页面渲染和元素加载。它循环轮询票价状态,按钮文本从"即将开抢"变为"立即购买"的瞬间,自动走完确认订单和提交订单。V2.1新增了选座购买,但目前只支持指定价位的座位,暂不支持连坐。要提醒一句:README里写明项目已停止维护,大部分购买方式已迁移到手机端并需配合抓包,所以把它当作接口自动化的学习样例更有价值。
| 方式 | 响应时间 | 成功率 | 上手门槛 |
|---|---|---|---|
| 手动页面操作 | 受页面加载和手速限制,单轮约数秒 | 受反应速度限制,容易错过开售瞬间 | 无 |
| 本脚本(V2.1) | 接口直连,跳过页面渲染与等待 | 状态变为"立即购买"即触发下单,高于手动 | 需Python环境+ChromeDriver |
🚀 三步跑起来:装依赖、改配置、试跑
第一步:装依赖。克隆仓库后安装requirements.txt里固定版本的4个包:requests发请求、selenium控制浏览器登录、beautifulsoup4解析HTML、pyexecjs执行signcode.js里的签名逻辑。
git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase cd Automatic_ticket_purchase pip install -r requirements.txt登录依赖Chrome窗口,还要下载与本机Chrome版本匹配的ChromeDriver,重命名为chromedriver_windows(macOS用_mac、Linux用_linux),放到项目根目录。
第二步:改配置。打开 Automatic_ticket_purchase.py 的__init__,把6个参数换成你的信息:
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 # 购买指定票价唯一的硬性规则:viewer列表长度必须等于buy_nums,否则脚本启动时直接退出。
第三步:试跑。先用一场非热门且已开售的演出走完整流程:
python Automatic_ticket_purchase.py预期结果:首次运行弹出Chrome自动登录;成功后项目目录生成cookies.pkl,下次运行直接读取、跳过登录窗口。
🔍 关键参数逐个讲
item_id(商品ID)
- 是什么:演出的唯一标识,同一巡演每个城市一个ID。
- 去哪获取:打开演出详情页,地址栏中
id=后面的数字就是。 - 怎么写:
self.item_id: int = 610820299671。 - 常见错误:拿别的城市的ID来抢,接口返回的场次根本不是你的目标场。
viewer(购票人列表)
- 是什么:下单时使用的购票人,需与账户里"常用购票人"完全一致。
- 去哪获取:大麦网"我的大麦"→常用购票人管理,照着抄名字。
- 怎么写:
self.viewer: list = ['张三', '李四'],一人对应一张。 - 常见错误:名字与网站有一个字或空格不同,运行时会提示"请检查输入的观演人信息与大麦网观演人信息是否一致"。
buy_nums(购买张数)
- 是什么:本次购买的票张数。
- 去哪获取:按自己的实际需求定。
- 怎么写:
self.buy_nums: int = 2。 - 常见错误:viewer写了2人却只填1,脚本直接报"购买数量与实际观演人数量不符"并退出。
ticket_price(目标票价)
- 是什么:要抢的票价档位,脚本会把接口返回的各SKU价格逐一比对,只匹配相等的那一档。
- 去哪获取:详情页上列出的所有票价。
- 怎么写:
self.ticket_price: int = 580,精确数值匹配。 - 常见错误:脚本一次只盯一个票价,该档售空就提示"手慢了,该票价已经售空"并退出,想多档位监控需要自己改造。
login_id / login_password(账号密码)
- 是什么:大麦网账号和密码,仅首次登录使用。
- 怎么写:直接填字符串;改用扫码登录时可不填。
- 常见错误:保留默认的'account'/'password'直接运行,登录必然失败。
🔑 登录状态与运行细节
--mode参数决定登录方式,两种用法:
python Automatic_ticket_purchase.py:账号密码登录,弹出Chrome窗口自动填入账号密码并提交,适合熟悉自己账号的用户。python Automatic_ticket_purchase.py --mode qr:扫码登录,弹窗口用大麦App扫码,不用在页面上碰密码,适合首次运行或容易触发安全验证的场景。
状态保存机制:登录成功后,脚本通过 tools.py 里的save_cookies把cookie序列化成cookies.pkl存到项目目录;下次启动优先读取它并调用check_login_status校验,通过就直接进入抢票循环,不再弹浏览器。验证是否生效:目录里出现cookies.pkl且运行不再弹登录窗口,说明状态已保存;若打印"登录失败, 请检查登录账号信息",删掉cookies.pkl重新登录即可。
✅ 成功率调优清单
- 换有线网络 → 请求延迟比WiFi更低更稳,减少开售瞬间的抖动。
- 同步系统时钟(Windows执行
w32tm /resync) → 避免本机时间偏差导致错过开售时刻。 - 开售前1-2分钟启动脚本 → 脚本已进入轮询循环("即将开抢"状态会持续等待),变"立即购买"的瞬间自动下单。
- 选一个大概率有票的票价档位 → 票价是精确匹配,选中的档位就是唯一抢票目标。
- 关掉无关的浏览器标签和后台程序 → 给Chrome登录窗口和requests请求让出内存与带宽。
- 提前用非热门演出完整试跑一遍 → 验证登录、参数获取、订单确认全链路,实战时只拼时间。
🛠 遇到问题先看这里
| 症状 | 原因 | 解决步骤 |
|---|---|---|
| 运行报Chrome启动失败或驱动相关错误 | ChromeDriver与浏览器版本不匹配,或文件命名/位置不对 | 下载匹配版本,重命名为chromedriver_windows/_mac/_linux,放到项目根目录 |
| 提示"请检查输入的观演人信息与大麦网观演人信息是否一致" | viewer姓名与"常用购票人"对不上 | 进"我的大麦"→常用购票人管理,逐字符核对后修改 |
| 提示"登录失败, 请检查登录账号信息" | cookies.pkl过期,或首次登录未成功 | 删除cookies.pkl,重新运行再登录一次 |
| 提示"手慢了,该票价已经售空" | 目标票价档已售罄 | 把ticket_price换成仍有库存的其他档位 |
| 提示"购买数量与实际观演人数量不符" | buy_nums与viewer列表长度不一致 | 两者改成相同,如2个观演人买2张 |
使用边界与合规
- 仅限个人购票用途,遵守大麦网服务条款与项目MIT License。
- 请求频率保持在合理范围,不要多账号并发轮询。
- README明确鄙视黄牛式商业用途,请勿将代码用于倒卖牟利。
如果你是想学"登录→轮询→下单"这条接口自动化链路,这个仓库结构很清晰;如果是准备实战,先接受它的维护状态,并把全流程完整测试一遍再上场。
项目资源:官方文档 · 核心脚本 · 接口工具库 · 依赖列表
免责声明:本项目仅用于个人学习与研究,请遵守平台规则及相关法律法规,勿用于商业倒卖。
【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考