ARTICLE DETAIL

资讯详情

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

大麦网Python自动抢票脚本:5分钟跑通

大麦网Python自动抢票脚本:5分钟跑通 大麦网Python自动抢票脚本5分钟跑通【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase晚上 8 点整演出开抢你的手指悬在“立即购买”上方页面转了三个圈变灰显示“售罄”。这是人手反应时间补不上的差距。这个大麦网自动抢票 Python 脚本的思路是用 Selenium 打开页面完成登录之后的每一步都通过请求直连服务器跳过页面渲染等状态一变“立即购买”就连发请求完成下单。这篇文章带你从零跑通它装环境、找商品 ID、配观影人、看懂流程最后完整跑一遍。克隆仓库并安装依赖克隆仓库并进入目录git clone https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase cd Automatic_ticket_purchase安装依赖一共 4 个pip install -r requirements.txt对应 requirements.txt 里的四个库BeautifulSoup4 解析 HTMLrequests 直连服务器发请求Selenium 控制浏览器pyexecjs 执行一小段 JavaScript——选座接口的签名要用到。⚠️ 动手前先看一眼 README项目已停止维护大部分购买方式已迁移至手机端需配合抓包处理暂无更新计划。本文按现有代码走通全流程适合用来学习抢票脚本的完整结构如果实际接口已变动需要你自己跟进修改。拿到商品 ID大麦网上每一场演出都有一个商品 IDitem_id它是脚本锁定目标的关键。获取方法很简单打开你要抢的那场演出详情页看浏览器地址栏的 URL找到id后面的那串数字别复制错每个城市、每个日期都有独立的 ID北京场详情页上的 ID 拿不到上海场的票。配好观影人和购票数量参数打开 Automatic_ticket_purchase.py找到DaMaiTicket类的__init__方法改这几行self.login_id: str 你的账号 self.login_password: str 你的密码 self.item_id: int 610820299671 # 商品id self.viewer: list [观影人姓名] # 大麦网已登记的观影人 self.buy_nums: int 1 # 购买数量 self.ticket_price: int 180 # 目标票价三个注意点viewer 里的名字必须和大麦账号“常用购票人管理”里登记的实名信息完全一致包括空格。buy_nums 要和 viewer 列表里的人数相等不然脚本启动时就会报错。ticket_price 写具体票价数字脚本靠它从 SKU 列表里匹配出对应的 sku_id。观影人姓名在这个页面找登录大麦网后进“我的大麦” → “常用购票人管理”。合规也在这里说清楚项目 MIT License 明确仅用于个人参考学习别用于商业囤票请求频率保持正常水平即可。看懂抢票工作流程先交代两个名词Selenium 是“控制真实浏览器”的库ChromeDriver 就是让程序能驱动你本地 Chrome 的那个中间件。这个脚本只在登录环节用 Selenium——打开登录页、填入账号密码、等页面跳转最长等 180 秒每 0.5 秒检查一次。登录成功后页面的任务就完了。脚本把浏览器的 cookies 存到cookies.pkl之后全靠 requests 直连step1_get_order_info拉取目标场次的 SKU 列表按你填的票价匹配出 sku_id循环检测状态反复查询该票价的按钮文字——“即将开抢”就继续等“缺货登记”直接放弃“立即购买”进入下一步step2_click_buy_now请求订单确认页从返回数据里解析出提交订单所需的全部参数step3_submit_order把选好的观影人和订单参数提交到创建订单接口成功后终端打印“抢票成功”、alipayOrderId 和支付宝支付链接登录和 cookies 缓存的细节在 tools.py 里选座接口的签名逻辑在 signcode.js由 pyexecjs 在本地执行。选座购买这条分支稍微复杂先拉座位图数据用 sign 参数请求座位状态再过滤出目标价位下可卖的座位。想理解抢票脚本怎么组装请求参数这段代码值得细读。实战跑一遍按前面两节配好参数启动脚本python Automatic_ticket_purchase.py # 默认账号密码登录 python Automatic_ticket_purchase.py --mode qr # 扫码登录第一次没有cookies.pkl会弹出 Chrome 窗口。账号模式下脚本自动填好账号密码并提交扫码模式用手机扫即可登录成功后页面跳转到大麦首页脚本校验登录状态把 cookies 落盘保存随后进入检测循环一旦看到“立即购买”就连续走完下单三步成功时终端会给出支付链接第二次再运行会直接读 cookies跳过整个页面登录环节。踩坑速查现象Chrome 打开了但登录不成功出现滑块原因ChromeDriver 版本和本地 Chrome 版本不匹配。解决下载与 Chrome 版本一致的驱动重命名为chromedriver_windowsLinux 用chromedriver_linuxmacOS 用chromedriver_mac放到项目根目录。现象终端提示“请检查输入的观演人信息与大麦网观演人信息是否一致”原因viewer 里的名字和实名登记对不上。解决去“常用购票人管理”把姓名原样复制过来连大小写、空格都别动。现象启动时报“购买数量与实际观演人数量不符”原因buy_nums 和 viewer 列表长度不相等。解决买 2 张就填 2 个观影人。现象step2 阶段打印“获取购买必备参数异常”原因大麦前端 JS 更新正则匹配不上了。解决对照最新的接口结构调整 tools.py 里的get_api_param。代码本身不算难啃主流程就是三次请求其余都在组装和解析参数。读懂这套结构后同类的快速下单场景也能套着改。用它之前想清楚边界别给服务器太大压力平台规则也尽量尊重。【免费下载链接】Automatic_ticket_purchase大麦网抢票脚本项目地址: https://gitcode.com/GitHub_Trending/au/Automatic_ticket_purchase创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表