首页 / 资讯中心 / 文章详情

Python 大麦网自动抢票脚本使用指南:5 个核心参数与运行原理一次讲清

Python 大麦网自动抢票脚本使用指南:5 个核心参数与运行原理一次讲清 ★ FEATURED ARTICLE
Python 大麦网自动抢票脚本使用指南5 个核心参数与运行原理一次讲清【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase这个项目的本质是只在登录环节使用一个真实浏览器之后改用 Python 的 requests 直接请求大麦网 PC 端接口完成查票、确认订单、提交订单的全过程。本文基于 Automatic_ticket_purchase 仓库大麦自动抢票脚本 V2.1从依赖安装、chromedriver 配置、核心参数、运行日志解读讲到使用它之前必须知道的维护现状。先下结论它适合谁又卡在哪README 的第一行就写着「已停止维护」大部分购买方式已迁移到手机端需配合抓包处理且暂无更新计划。这一句基本决定了它的定位——更像一个教学性质的完整样例而不是可以长期依赖的生产工具。它做的事情登录用 Selenium 打开真实 Chrome支持账号密码和扫码两种方式查票、下单、选座全部走接口请求不等页面元素渲染显著减少中间等待V2.1 增加了选座购买但只支持指定单一价位选座不支持连坐它不做的不自动支付。下单成功后只输出支付宝订单号和支付链接最后付款一步是手动完成也不是热门演出的「必抢」工具结果取决于库存、网络和风控状态。所以它适合想学接口逆向、Selenium 与 Cookie 管理的人不适合期待实际抢到热门演出票、或只能在手机端完成购买流程的人。环境准备依赖与 chromedriver 配置依赖清单很短见 requirements.txtrequests、selenium、beautifulsoup4、pyexecjs 四个包。注意 selenium 被锁定在 3.141.0tools.py 里的登录代码用的是旧版 APIfind_element_by_name自行升级到 Selenium 4 会直接报错建议按原样安装。驱动方面代码会按系统在当前工作目录下找固定文件名的驱动chromedriver_linux、chromedriver_windows、chromedriver_mac。因此要从官方渠道下载与本机 Chrome 版本匹配的 chromedriver改名后放进项目根目录也就是你将来运行脚本的那个目录。git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase cd Automatic_ticket_purchase pip install -r requirements.txt仓库本身是只读的后文所有配置与改动都发生在你克隆下来的本地副本里。最小可运行路径改参数到启动需要修改的地方只有一处Automatic_ticket_purchase.py 里__init__方法的前几个字段。self.login_id: str your_account # 大麦网登录账户 self.login_password: str your_password self.item_id: int 610820299671 # 商品 id self.viewer: list [李四] # 已登记的观演人 self.buy_nums: int 1 # 需与观演人数量一致 self.ticket_price: int 180 # 目标票价然后启动python Automatic_ticket_purchase.py # 账号密码登录 python Automatic_ticket_purchase.py --mode qr # 扫码登录首次运行没有本地缓存会弹出浏览器登录页登录成功后 Cookie 存为当前目录下的cookies.pkl之后的运行直接读文件不再经过浏览器。关键参数对照表参数作用示例item_id演出商品 id每个城市、每个场次不同从演出详情页地址栏获取610820299671viewer大麦「常用购票人」中已登记的姓名列表脚本按姓名精确匹配[李四]buy_nums购买数量必须等于viewer列表长度否则启动即退出1ticket_price只抢这个价位的票与票档列表中任何 sku 都对不上时不会下单180login_id/login_password仅账号登录模式使用--mode qr时不生效—item_id的取法打开目标场次详情页看地址栏id后面的那串数字就是它。观演人名单需要提前在账户里维护好viewer里填的必须是「常用购票人」表中已存在的姓名。姓名对不上不会报错崩溃而是在提交订单前打印一行提示然后终止所以开票前最好手动核对一遍。内部机制三步下单与开售轮询主流程在run()方法里可以拆成四段看。第一段是登录态。优先读cookies.pkl没有则按--mode走账号或扫码登录再用一次个人信息页请求验证 Cookie 是否有效。登录代码里特意关掉了浏览器的自动化标记excludeSwitches与disable-blink-features目的正是降低被滑块风控拦截的概率。第二段是查票轮询。step1_get_order_info请求详情页的 subpage 接口取出目标价位对应 sku 的按钮文案主循环while True就靠它分支文案是「即将开抢」就继续循环「缺货登记」判定售空退出「立即购买」进入下单「选座购买」进入选座流程。这里值得留意循环里没有任何 sleep开售前的请求频率只受网络往返时间限制属于持续高频轮询。第三段是确认订单。step2请求 orderConfirm 页面从返回的window.__INIT_DATA__里解析出订单表单。选座场景更复杂mtop 接口需要 sign 参数由 signcode.js 经 execjs 编译执行算出随后脚本拉取座位图、过滤掉不可售和价位不符的座位按顺序取前 N 个可售座位——没有连座逻辑。第四段是提交。step3_submit_order在表单里按姓名匹配观演人、标记isUsed然后 POST 到 createOrder 接口。返回success且带alipayOrderId才算成功此时打印订单号和支付宝支付链接。脆弱点也在这里所有接口参数和解析规则都是针对 PC 端前端逆向出来的大麦更新前端 JS 后get_api_param()这类正则解析就可能失效而项目已停止维护没有官方修复。运行日志解读脚本的输出都是---------- 文案 ----------这种格式对照着看基本能自诊断「购买数量与实际观演人数量不符」buy_nums和len(viewer)不等改参数即可。「登录失败, 请检查登录账号信息」先删掉本地的cookies.pkl再运行损坏的缓存文件会一直复现这个问题。「请检查输入的观演人信息与大麦网观演人信息是否一致」姓名与登记信息有出入逐字核对。「手慢了该票价已经售空」对应「缺货登记」状态脚本会直接退出。「获取购买必备参数异常」页面返回结构变了正则没匹配到属于接口变动。「抢票成功」后面跟着 alipayOrderId 和支付链接去「我的大麦 - 交易中心」完成支付。常见问题定位法按出现频率从高到低排驱动报错几乎都是 chromedriver 文件名或版本问题——确认改名正确、放在运行目录、大版本与本机 Chrome 一致。登录页出现滑块且无法继续多半是驱动与浏览器大版本不匹配先升驱动再怀疑代码。get_api_param()里抛re相关异常说明大麦前端 JS 更新了tools.py 里的正则不再匹配这部分只能自己在本地副本里跟着改。选座流程提示「获取sku_id失败」是ticket_price不在该场次的选座价目列表里。登录成功但后续频繁失败通常是账号触发风控建议改用扫码登录不要再去提高轮询频率。使用边界声明仓库自带的免责声明只用于个人参考学习禁止商业用途。这类脚本对平台服务条款处于灰色地带高频轮询与接口重放都可能触发风控甚至带来封号风险频率要克制。项目已停止维护接口链路随时可能失效它真正的价值在于能顺着一个完整样例看清「登录态维护、接口参数逆向、下单链路编排」这一整套是怎么落地的。【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站