大麦抢票脚本实战指南: 为什么手动总慢一步, 以及怎么用 Python 把下单交给代码 📅 发布时间:2026/8/24 19:59:47 👁 浏览次数: 大麦抢票脚本实战指南: 为什么手动总慢一步, 以及怎么用 Python 把下单交给代码【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase开票那一秒你刚点完「立即购买」页面已经提示「库存不足」。手动抢慢不是你不努力——人的反应是几百毫秒级别的而票源放出来到被抢完的窗口常常只有几百毫秒。这个开源项目Automatic_ticket_purchase就是一套大麦网抢票脚本你提前配好账号和参数脚本在开票瞬间自动完成下单全程只有登录环节需要弹出浏览器。下面按「先跑起来、再看原理、最后聊踩坑」的顺序带你过一遍。 十分钟把它跑起来第一步: 拉代码装依赖整个项目就四个依赖selenium、requests、beautifulsoup4、pyexecjs克隆下来装完就能用git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase cd Automatic_ticket_purchase pip install -r requirements.txt第二步: 配好 ChromeDriver登录环节依赖 Selenium 驱动浏览器所以你得准备一个 ChromeDriver。两个要点版本要和你本机的 Chrome 对应不匹配会直接起不来下载后重命名成chromedriver_windows或chromedriver_mac、chromedriver_linux放在项目根目录。脚本里写死了按操作系统自动找这三个名字你不用改代码。第三步: 填五个参数打开Automatic_ticket_purchase.py改DaMaiTicket类开头的这段配置这是全文唯一需要动的地方def __init__(self): self.login_id: str account # 你的大麦账号 self.login_password: str password # 密码账号模式才用到 # ---- 抢票必需的 4 个参数 ---- self.item_id: int 610820299671 # 演出项目ID从详情页URL里找 self.viewer: list [张三] # 大麦网「常用购票人」里已填的姓名 self.buy_nums: int 1 # 买几张必须和购票人数量一致 self.ticket_price: int 180 # 你想抢的那个价位两个参数最容易填错对着图确认一下item_id在演出详情页地址栏里把箭头指的这一串数字抄下来viewer填的不是身份证名而是你提前在大麦网「常用购票人管理」里录入的姓名一字不差脚本会拿它和接口返回的购票人列表做精确匹配对不上直接报错退出第四步: 起跑两种方式选一个python Automatic_ticket_purchase.py—— 账号密码登录全自动python Automatic_ticket_purchase.py --mode qr—— 弹浏览器扫码登录推荐这个密码不落代码文件也更不容易触发风控。第一次运行成功后项目目录会多出一个cookies.pkl。之后每次启动脚本优先读这个文件直接免登连浏览器都不用开。Cookie 过期了比如登录态失效就删掉它重新跑一次即可。 它凭什么比你手快很多人第一反应是抢票脚本不就是 Selenium 一直点按钮吗这个项目最聪明的一点恰恰是否定了这个思路。早期版本确实是纯页面操作每走一步都要等元素加载、等网络渲染作者学完接口知识后把它整个重写了浏览器只在登录时用一次登录页有滑块和风控硬绕 HTTP 反而容易被拦之后的查状态、点购买、提交订单全部换成requests直连接口。省掉页面渲染这一步响应时间从「半秒起步」压到了几十毫秒量级。整个运行逻辑是一条状态机流程图长这样拆开看就是三段登录验证。有 cookies 直接用没有就按你选的 mode 走浏览器登录登完调个人信息页校验是否真的登录成功不成功就终止。轮询票源。死循环里不断查询目标价位的按钮状态只有三种可能即将开抢继续轮询、缺货登记已售罄收工、立即购买开抢了。自动下单。一旦状态变成可购买立刻串起「获取订单参数 → 立即购买 → 提交订单」三个接口把预选的购票人标记为已使用返回支付宝支付链接。核心轮询逻辑就十几行非常直白while True: # 第一步: 查目标票价当前的按钮状态 ticket_info, sku_id_sequence, sku_id self.step1_get_order_info( self.item_id, commodity_param, ticket_priceself.ticket_price) ticket_sku_status ticket_info[skuPagePcBuyBtn][skuBtnList][sku_id_sequence][btnText] if ticket_sku_status 即将开抢: continue # 还没开抢, 继续轮询, 别浪费一次下单请求 elif ticket_sku_status 缺货登记: print(手慢了该票价已售空) # 售罄, 放弃 return False elif ticket_sku_status 立即购买: # 开抢了! 立刻拼单号发下一步请求, 不等任何页面渲染 buy_serial_number {}_{}_{}.format(self.item_id, self.buy_nums, sku_id) submit_order_info self.step2_click_buy_now(ex_params, buy_serial_number) break注意continue那个分支没开抢的时候不提交、只查询避免空请求把自己的账号标记成异常。这就是「快」和「刷」的区别——脚本的价值不在于发请求发得多而在于开抢的那一瞬间零延迟地接上去。 选座场怎么抢V2.1 加了选座购买除了上面三个状态轮询还会遇到选座购买分支。它比无座票复杂不少因为大麦的座位接口有签名校验——tools.py里会调用根目录的signcode.js用 pyexecjs 在本地执行 JS根据 token 和时间戳算出 sign 才能拉到座位图。拿到全部座位后脚本按「楼层 → 排 → 座」建索引过滤掉不可售的和不在目标价位的从头挑出你要的那几张。一个已知限制目前只支持指定价位且不挑连座。想抢连座的话得自己改pick_seat的挑选逻辑。️ 踩坑备忘ChromeDriver 版本不匹配是最常见的第一个坑报错基本都指向 driver去下载和当前 Chrome 同大版本的驱动别偷懒用旧的。购票人姓名对不上控制台会打印「请检查输入的观演人信息」。去大麦网确认常用购票人里填的名字和viewer里的字符串逐字一致包括生僻字。登录态失效第二次运行提示登录失败八成是cookies.pkl过期删掉重跑一次扫码。网络环境抢票那几分钟尽量用有线或稳定的 Wi-Fi开抢瞬间掉一次包轮询节奏就断了能提前用脚本账号打开过详情页的话DNS 和连接都是热的比临时发起快一截。最重要的坦白README 开头写着项目已停止维护——大麦的多数购买流程迁移到了手机端现在完整跑通往往要配合抓包。所以把它当成「学习接口逆向 自动化下单流程」的范本来读价值远大于开箱即用真要实战前先确认接口是否还活着。写在最后这套东西的正确打开方式是用它理解「一个自动化下单系统是怎么把登录、状态检测、请求链路串起来的」同时给自己买张票提点成功率。买给自己和家人用没问题但别把它变成倒卖的工具——平台规则、实名制和相关法律的红线和抢票速度一样重要。把技术用在让好票落到真正想看演出的人手里这件事本身就更值得。【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考