尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

大麦网自动抢票脚本完整指南:环境配置、参数设置与运行排障

大麦网自动抢票脚本完整指南:环境配置、参数设置与运行排障 大麦网自动抢票脚本完整指南环境配置、参数设置与运行排障【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchaseAutomatic_ticket_purchase 是一个针对大麦网的 Python 自动抢票脚本供想研究登录后如何直接调用接口完成下单的学习者使用。脚本只在登录阶段调用浏览器取票档、确认订单、提交订单均由 requests 直接请求网页接口完成省去了逐页渲染和等待元素加载的步骤。需要留意项目 README 开头已标注停止维护说明大部分购买方式已迁移至手机端、需配合抓包处理且暂无更新计划。下文按环境搭建、参数配置、运行原理、问题排查四条线介绍这套代码。项目速览这个大麦抢票脚本适合谁对比项手动购票脚本购票开票时刻盯页面、点按钮、逐栏填写轮询票档状态命中后自动提交登录成本每次会话可能重新登录cookies.pkl 复用登录态适配成本无需配置 Python 环境、浏览器驱动与接口参数这套代码适合两类人。一是想把登录、轮询、下单拆到接口层面来学习的人代码按 step1、step2、step3 命名主流程阅读顺序清晰二是愿意自己抓包适配新接口的使用者。由于项目已停止维护它更接近一份可运行的学习材料而非开箱即用的成品工具。V2.1 版本新增了选座购买支持在指定价位下挑选座位暂不支持连坐。从零跑起来环境安装与首次运行第一步是克隆仓库并安装依赖git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase pip install -r requirements.txt依赖清单见 requirements.txt共四个包requests、selenium、beautifulsoup4、pyexecjs。其中 selenium 只用于打开登录页pyexecjs 负责执行 signcode.js 生成请求签名。第二步是准备 ChromeDriver。驱动版本要与本机 Chrome 对应把下载好的驱动放到项目根目录并按系统重命名Windows 下为 chromedriver_windowsLinux 下为 chromedriver_linuxmacOS 下为 chromedriver_mac。路径选择逻辑写在 tools.py 的 account_login 函数里。参数填好后即可运行# 默认账号密码登录 python Automatic_ticket_purchase.py # 改为扫码登录 python Automatic_ticket_purchase.py --mode qr首次运行没有 cookies.pkl会走完整登录流程登录成功后脚本把登录态写入 cookies.pkl之后的运行直接从文件恢复不再启动浏览器。关键参数配置方法所有参数集中在 Automatic_ticket_purchase.py 的 DaMaiTicket 构造函数内修改这一处即可参数名含义示例login_id大麦网登录账户名账号登录方式必填accountlogin_password登录密码passworditem_id商品 id每个场次对应不同取值610820299671viewer大麦网已添加的观演人姓名列表需与平台登记完全一致[viewer1]buy_nums购买数量必须等于 viewer 列表长度1ticket_price目标票价选座模式下用于匹配价位180item_id 从演出详情页的 URL 中获取截图标注了具体位置viewer 里的姓名要先在大麦网观演人页面添加脚本按字符串精确匹配空格或错别字都会导致提交失败命令行参数只有一个--mode取值 account账号密码默认或 qr扫码。工作原理拆解登录、轮询、下单三个环节run 方法是主入口执行顺序如下恢复登录态。优先读取 cookies.pkl文件不存在时按 --mode 走账号或扫码登录随后调用 check_login_status 访问个人信息页验证是否登录成功。轮询票档step1_get_order_info。请求演出详情子页接口拿到 skuList用 ticket_price 定位目标 sku再读取按钮文案判断当前状态。请求参数由 get_api_param 结合时间戳与签名结果组装。按状态分支。即将开抢时继续轮询缺货登记直接退出立即购买进入 step2_click_buy_now 请求订单确认页选座购买则先拉取座位数据由 pick_seat 按 buy_nums 挑出座位再走确认选座接口。提交订单step3_submit_order。先校验 viewer 与平台观演人列表一致再把完整订单参数 POST 到 createOrder 接口成功时打印支付宝订单号与支付链接。脚本在开票前反复轮询按钮状态相当于提前到岗的值班人员状态一变就接手后续动作。整体流程可以压缩成一行登录校验 → 轮询票档 → 立即购买或选座确认 → 提交订单请求签名由 signcode.js 完成调用封装在 tools.py 的 get_sign_code 中排查接口层面的问题可以从这两个文件入手。实战技巧与常见问题排查三条实用技巧提前跑一次登录开票前运行一次脚本生成 cookies.pkl并确认登录态校验通过正式抢票时不再依赖浏览器启动。观演人信息先核对再开跑step3 会逐名比对 viewer不一致会直接返回失败提前对齐比事后排查省事。item_id 随场次变化同一演出的不同城市、不同场次 id 不同换场次时回到详情页重新取值。排障速查表症状检查项处理办法打印登录失败cookies 过期或登录信息有误删除 cookies.pkl用 --mode qr 重新登录购买数量与实际观演人数量不符buy_nums 与 viewer 长度不一致两者设为相同数值请检查输入的观演人信息viewer 与平台登记姓名不一致到大麦网同步观演人姓名该票价已经售空目标价位按钮为缺货登记脚本已退出等待后续放票启动后浏览器打不开ChromeDriver 缺失或命名不符按系统重命名驱动并放到项目根目录合规与使用边界仅用于个人学习与技术研究仓库附带 MIT License 与免责声明。控制请求频率轮询循环只在开票前后运行不要长期高频挂起脚本。遵守大麦网平台规则与用户协议不修改代码用于绕过平台风控。订单创建成功后立即停止脚本避免重复请求。不将脚本用于囤票、倒卖等商业行为。接口参数组装与签名逻辑的更多细节可以阅读 tools.py 与 signcode.js。如果平台调整了接口导致解析失败可以自行抓包对照修正对应字段若修复方案比较通用也欢迎在仓库提交 Issue 讨论。【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表