☰
手把手跑通大麦网 Python 抢票脚本:从 item_id 到提交订单
2026/10/17 2:25:50 网站建设 项目流程

手把手跑通大麦网 Python 抢票脚本:从 item_id 到提交订单

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

这篇带你走一遍 Automatic_ticket_purchase,一个用 Python 写的大麦抢票脚本。登录靠 Selenium,下单靠 requests 直连接口,item_id、观演人、票价填好就能跑。适合想练手接口自动化、也想看懂抢票流程的新手。

先说清楚:为什么手动抢不过脚本

热门演出开售时间精确到点,你从打开详情页到点完"立即购买",中间隔着选票价、填观演人、页面加载,每步 1-2 秒。手动抢经常还没进下单页就售罄了。

另一个卡点是按钮状态:开售前显示"即将开抢",要人肉盯到它变成"立即购买"再动手,手动刷新很难卡准时间点。

脚本的思路是把鼠标点击换成接口请求:登录一次存下 cookies,之后循环轮询票价状态,状态一变就连续发下单请求。

快速上手:5 步跑通第一次抢票 🚀

  1. 克隆仓库:
git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase
  1. 安装依赖,一共 4 个库:
pip install -r requirements.txt
  1. 准备 ChromeDriver:下载与本机 Chrome 匹配的版本,按平台改名为chromedriver_windows、chromedriver_linux或chromedriver_mac,放在项目根目录。
  2. 修改 Automatic_ticket_purchase.py 里的登录账号、item_id、观演人、票价。
  3. 运行:
python Automatic_ticket_purchase.py # 账号密码登录 python Automatic_ticket_purchase.py --mode qr # 扫码登录

首次运行会自动弹出浏览器完成登录,成功后生成cookies.pkl,下次运行直接复用,不再走登录流程。

核心机制是怎么跑起来的 🔧

登录验证。登录页用 Selenium 打开,填账号密码。代码里用excludeSwitches关掉 webdriver 自动化标记,避免触发滑块。登录后发一个请求到个人信息页,确认页面标题是"我的大麦-个人信息"才算成功。这部分逻辑在 tools.py。

参数提取。下单接口需要的commodity_param、ex_params不是写死的,而是下载大麦前端 JS 后用正则现场抽取(get_api_param())。选座接口的 sign 则用 execjs 执行 signcode.js 计算得出。大麦前端 JS 一旦改版,这些函数要跟着修。

下单流程。run()里是个轮询循环:step1 查目标价位的按钮状态,"即将开抢"就继续轮询;变成"立即购买"就进 step2 请求订单确认页;"选座购买"则先拉座位数据挑座。最后 step3 调 createOrder 提交订单,成功会打印alipayOrderId和支付链接。

关键配置项逐个说明

配置集中在DaMaiTicket类的__init__里,一共 5 组参数:

参数含义
login_id/login_password大麦账号密码,账号登录方式才需要
item_id商品 id,不同城市场次对应不同值
viewer观演人姓名,须与账户里已填的完全一致
buy_nums购票数量,必须等于观演人数量
ticket_price目标票价,脚本只买这个价位

item_id 就藏在详情页 URL 的id=参数里,选对城市站点再取这一串数字。

viewer填的姓名要和"我的大麦"里常用购票人列表一致,提交订单前脚本会做这个比对,不一致直接报错退出。

提升成功率的做法与常见失败原因 ⚠️

三个提分做法:

  • 提前把脚本跑到轮询状态再等开售,按钮一变就发请求,省掉页面加载时间。
  • 复用cookies.pkl,第二次运行跳过整个登录环节。
  • 只盯一个票价、一个观演人,请求链越短越稳。

高频失败原因:

  • 登录页出现滑块或验证:浏览器指纹被识别,或驱动与 Chrome 版本不匹配。
  • 提示"观演人信息不一致":viewer里有人名缺失或错别字。
  • 提示"获取购买必备参数异常":大麦前端 JS 变了,get_api_param()的正则匹配不到。

使用边界与合规

README 已说明项目停止维护:大部分购买方式迁到了手机端,需配合抓包处理,暂无更新计划,所以对当前线上流程的效果要打折看。脚本会高频请求接口,可能被平台风控限制甚至封号,频率和次数请自己把控。仓库声明仅用于个人参考学习(MIT License),商用和倒卖转售不在允许范围内。

结语

这个脚本的价值在于把"登录 → 查状态 → 下单"拆成了三段可复现的接口调用,是练 Selenium 加 requests 的好样本。适合想啃接口自动化的新手,也适合想搞懂大麦抢票链路的人,照着改参数就能上手。

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

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

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

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

立即咨询