拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Automatic_ticket_purchase:Python 大麦抢票脚本,自动完成登录、票源监控与下单

Automatic_ticket_purchase:Python 大麦抢票脚本,自动完成登录、票源监控与下单

Automatic_ticket_purchase:Python 大麦抢票脚本,自动完成登录、票源监控与下单

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

热门演出开票时,手动点击常常败给页面加载与人工填写。Automatic_ticket_purchase 是一个开源的 Python 抢票脚本:它自动登录大麦网、监控指定演出的票源状态,并在目标票价出现购买入口时自动提交订单,用户只需最后付款。下文从使用者角度说明如何运行、如何配置,以及它背后的基本工作原理。

📌 大麦抢票脚本定位:解决什么问题、适合谁

大麦 PC 端购票流程包含登录、查询票档、点击购买、填写观演人、提交订单等多个步骤,每一环都依赖人工操作。Automatic_ticket_purchase 把这条链路自动化:在开票前启动后持续监控票源,按钮可点时立刻进入下单流程,成功后输出支付链接。

  • 适用场景:已知开票时间,希望开票瞬间自动开始抢购;支持非选座(直接购买)与指定价位的选座购买(V2.1 版本,暂不支持连坐)。
  • 适用人群:想为本人或亲友抢购演出票的用户,以及想学习 Python 网页自动化的新手,代码集中在两三个文件中,篇幅短、易通读。
  • 需要说明:README 明确标注项目已停止维护,大部分购买方式已迁移至手机端,实际可用性取决于大麦 PC 端接口的现状,建议先当作学习材料评估。

🚀 三分钟跑起来:抢票脚本部署步骤

第一步,获取代码并安装依赖:

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

第二步,准备 Chrome 驱动。脚本通过 selenium 驱动 Chrome 完成登录,需下载与本机 Chrome 版本匹配的 chromedriver,按系统重命名(chromedriver_windows / chromedriver_linux / chromedriver_mac),放到项目根目录。

第三步,按下一节填好参数后启动:

python Automatic_ticket_purchase.py # 默认账号密码登录 python Automatic_ticket_purchase.py --mode qr # 二维码登录

首次运行会弹出浏览器完成登录并保存 cookie,之后再次启动就不再需要重复登录。

🧾 配置参数速查:item_id、viewer 等核心参数怎么填

核心参数都写在 Automatic_ticket_purchase.py 的__init__中:

参数作用从哪里获取常见错误
item_id演出商品 ID,脚本靠它定位目标演出大麦演出页面 URL 中的id=部分不同城市、场次对应不同 item_id,不能照抄示例
viewer观演人姓名列表大麦网「常用购票人」中已添加的姓名姓名必须与网站登记的完全一致,且需提前添加
buy_nums购买票数按实际需求填写必须等于viewer人数,否则脚本直接退出
ticket_price目标票价(元)演出页面的价格档位只精确匹配该价位,填错就抢不到
login_id/login_password大麦账号与密码自有账号仅在无 cookies.pkl 时使用
--mode登录方式启动参数默认 account,可选 qr 扫码

item_id就在演出页地址栏里,见下图红框位置:

viewer的姓名需要先在大麦网「我的大麦 → 常用购票人管理」中添加,脚本提交订单时会自动勾选你指定的这些观演人:

⚙️ 脚本内部如何工作:requests 与浏览器自动化的分工

整个项目就三个代码文件,分工清晰:

  • Automatic_ticket_purchase.py:主流程。DaMaiTicket类把购票拆成三步——第 1 步请求票档接口并判断按钮状态(即将开抢 / 缺货登记 / 立即购买 / 选座购买),开票前循环轮询「即将开抢」,状态变为「立即购买」立即进入第 2 步订单确认,第 3 步用指定观演人提交订单并打印支付链接;
  • tools.py:工具函数。用 selenium 完成登录、读写 cookie(存为 cookies.pkl)、校验登录状态、解析请求所需参数,选座相关接口也在其中;
  • signcode.js:选座接口的签名算法,通过 pyexecjs 在 Python 中执行。

两种技术的分工值得留意:浏览器只在开头登录时用一次,之后的所有操作都由 requests 直接请求网站自身使用的数据接口(所谓 API 直连,即不打开网页、直接调用页面背后的数据接口,省去了等待页面渲染的时间)。登录得到的 cookie 会保存到本地文件——即 cookie 持久化,把「已登录」凭证留下来下次直接复用。可以这样理解:快递员先上门取件(浏览器登录),之后包裹走固定专线(API)直达目的地,不再逐站绕行。

🛠️ 避坑与排查:常见问题速查

现象可能原因处理办法
首次运行弹出浏览器要求输入密码还没有 cookies.pkl,走账号登录填写正确账号密码,或改用--mode qr扫码
启动提示「登录失败」保存的 cookie 已失效删除 cookies.pkl 后重新登录
浏览器打不开、报 chromedriver 错误驱动版本与 Chrome 不匹配,或文件没放项目根目录、命名不符下载对应版本驱动,按平台要求重命名
提示「购买数量与实际观演人数量不符」buy_nums与viewer人数不一致调整两处保持一致
提示「请检查输入的观演人信息与大麦网观演人信息是否一致」姓名未添加或写法不一致提前在网站添加常用购票人,姓名与登记完全相同
提示「缺货登记」后退出目标票价已售空更换票价档位或放弃本次抢购
解析参数报错、拿不到票源信息项目已停维护,网站 JS 或接口更新后get_api_param可能失效按提示重新解析参数,或把代码当学习材料研究

⚖️ 使用边界与合规说明

  • 依据 MIT License 与 README 免责声明,仓库仅限个人参考学习与技术研究;
  • 不要用于倒卖门票等商业用途,维护正常市场秩序;
  • 控制请求频率,避免给平台服务器带来压力,遵守大麦网服务条款;
  • 购票流程已向手机端迁移,脚本当前实际可用性有限,更适合作为接口分析与自动化实践的学习样本。

适合谁、如何参与

适合想为自己或家人抢一张演出票、同时愿意读一点代码来弄懂请求与自动化的新手。使用过程中发现问题,或在接口变动后修复了解析逻辑,都可以向仓库提交 issue 或 Pull Request。

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

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

返回列表