☰
大麦网抢票脚本:从克隆到跑通自动化购票流程的 4 步做法
2026/9/30 7:49:02 网站建设 项目流程

大麦网抢票脚本:从克隆到跑通自动化购票流程的 4 步做法

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

Automatic_ticket_purchase 是一个 Python 编写的大麦网抢票脚本开源项目。它用 Selenium 打开页面完成登录,再用 requests 直接调用购票接口,自动完成开抢状态监控、票价匹配和订单提交。适合想理解接口级自动化购票流程、或不想反复手动刷新的场景。主逻辑集中在 Automatic_ticket_purchase.py,配好商品 ID 和购票人信息即可跑通首次运行。

能处理哪类任务

  • 面向大麦网 PC 网页版购票链路:登录、轮询开抢状态、点击"立即购买"、提交订单这一整条流程的自动化执行。
  • 支持两种登录方式:账号密码登录和扫码登录(--mode qr),首次登录成功后 cookies 会存为 cookies.pkl,之后启动可跳过浏览器登录。
  • 支持普通票价抢购和选座购买。选座购买(V2.1 加入)目前只支持抢指定价格档的座位,暂不支持连坐。
  • 购票人通过预填的常用购票人名单自动勾选,适合固定几个购票人的连购场景。

先判断是否适合你

适合使用

  • 目标是个人学习接口调用与自动化流程,愿意读 Python 代码
  • 目标场次仍走大麦网 PC 网页版下单链路
  • 能接受脚本在控制台打印状态、自己盯运行结果

不建议使用

  • 期望拿来即用、无需任何排查:脚本依赖固定接口和请求格式,平台改版后可能失效
  • 需要购买连坐座位的选座场次:当前只支持单价位座位
  • 用于倒卖、代购等商业用途:项目声明仅用于个人参考学习

开始前需要准备

  • 一个可正常登录的大麦网账号,且常用购票人信息已提前在网页端登记
  • 本机安装 Python 环境,能运行 pip 安装依赖
  • 与本机 Chrome 版本匹配的 chromedriver 文件
  • 注意:项目 README 顶部标注已停止维护,大部分购买方式已迁移至手机端,暂无更新计划。使用前先确认目标场次是否还能在 PC 网页端下单

第一次运行的最短路径

环境准备:安装依赖与浏览器驱动

克隆仓库并安装依赖,依赖清单固定在 requirements.txt(selenium 锁定为 3.141.0,注意它只兼容旧版 chromedriver 的 API):

git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase cd Automatic_ticket_purchase && pip install -r requirements.txt

下载与系统和 Chrome 版本对应的 chromedriver,放到项目根目录,并按系统重命名:

  • Windows:chromedriver_windows
  • Linux:chromedriver_linux
  • Mac:chromedriver_mac

tools.py 中account_login()会按platform.system()自动拼接这个路径找驱动,名字写错会直接找不到驱动。

获取目标信息:确认商品 ID 与票价

打开大麦网,进入你要抢的演出详情页。不同城市、不同场次对应不同的商品 ID,切城市后 ID 会变。

地址栏里id=后面的数字就是 item_id,把它记下来。再记下你打算购买的价格档位数字(如 180、380),后面要填进脚本。

完成关键配置:填写脚本参数

打开 Automatic_ticket_purchase.py,找到DaMaiTicket.__init__,把示例值改成自己的:login_id、login_password(账号密码登录方式必填)、item_id、viewer、buy_nums、ticket_price。

购票人姓名必须和大麦网"常用购票人管理"页面里登记的完全一致,脚本会在提交订单前做名单核对:

启动与查看状态

python Automatic_ticket_purchase.py python Automatic_ticket_purchase.py --mode qr

运行后重点看控制台输出。正常流程是:登录成功 → 开始轮询票价状态;"即将开抢"会持续等待,出现"立即购买"后进入下单。看到"抢票成功, 请前往 大麦网->我的大麦->交易中心->订单管理 确认订单"并打印支付宝订单号,说明订单已生成,需要尽快去网页端完成支付。打印"该票价已经售空"后退出则是正常结束,不是报错。

关键参数怎么理解

参数名作用常见修改建议
item_id目标商品的唯一标识,轮询和下单都靠它定位换城市、换场次就换数字,以详情页地址栏为准
viewer已登记购票人姓名列表,脚本据此自动勾选观演人姓名与网页端登记逐字一致,含生僻字也照抄
buy_nums购买数量必须等于viewer列表长度,否则脚本启动即报错退出
ticket_price目标票价档位只填页面显示的价格数字;不填时脚本会提示选择票价并不下单
login_id/login_password账号密码登录凭证已有有效 cookies.pkl 时可不生效;不想存密码可改用--mode qr

常见卡点与处理

  • 登录失败:先核对账号密码是否正确;如果项目里已有 cookies.pkl 但登录态已失效,删除该文件让它重新走浏览器登录;出现滑块或风控拦截时,改用--mode qr扫码登录成功率通常更高。
  • 一直停在"即将开抢":优先检查 item_id 是否对应正确的城市和场次,再确认开票时间。ID 对了但没开抢,等待是正常行为。
  • 驱动异常(报错找不到 chromedriver / 版本不匹配):确认驱动文件名与系统对应、位于项目根目录,且 chromedriver 版本与本机 Chrome 大版本一致;selenium 是 3.141.0,驱动过新也可能不兼容。
  • 依赖异常(如find_element_by_name相关报错):按 requirements.txt 重装,不要自行升级 selenium 到 4.x,脚本用的是 3.x 的旧 API。
  • 网络异常:先手动在浏览器确认大麦网页面能正常打开,再重跑脚本;请求失败多为本机网络问题而非脚本问题。
  • "请检查输入的观演人信息与大麦网观演人信息是否一致":打开常用购票人管理页逐字比对 viewer 列表,注意空格和繁体差异。

使用边界与合规提醒

  • README 已明确:仓库停止维护,大部分购买方式迁移至手机端,需配合抓包处理,暂无更新计划。把它当作学习接口与流程的范例比当作稳定工具更合适。
  • 遵守大麦网用户协议与相关法规,仅用于本人购票;项目免责声明中明确不认可商业用途,不要用于倒卖或批量代购。
  • 轮询请求会持续访问平台接口,保持脚本自带的节奏即可,不要为"更快"而人为加密频率或同时挂多个账号实例抢占资源。
  • 登录后 cookies.pkl 里存有你账号的登录态,注意不要把这个文件分享或提交到别处。

后续可扩展方向

  • 更换浏览器驱动:README 提到除 Chrome 外也可改用其他浏览器驱动,需要时对应替换 tools.py 中的驱动加载逻辑。
  • 接口更新后的参数维护:README 提示大麦网 js 代码更新后,get_api_param()内的参数可能需要重新抓取,这是使用该项目时最可能要做的手工维护点。
  • 登录方式扩展:现有代码已把账号登录与扫码登录抽象为同一条account_login()路径,参考它可以接入其他登录形态。
  • 选座能力补全:目前选座购买只支持单一目标价位且不支持连坐,如果有连坐需求,座位过滤与挑选逻辑(pick_seat)是最直接的修改参考点。

配置好 item_id 和购票人后,先用一次非热门场次跑完整流程验证链路,再决定要不要用于正式开抢,是最稳妥的第一步。

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

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

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

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

立即咨询