拼手速不如拼时间:biliTickerBuy 自动化抢票 B 站会员购实战拆解
【免费下载链接】biliTickerBuyb站会员购购票辅助工具项目地址: https://gitcode.com/GitHub_Trending/bi/biliTickerBuy
BW 开票那一秒,你的手指和几百个人同时点下"立即购票",大概率输在 0.3 秒的网络延迟上。biliTickerBuy 是个开源的 B 站会员购自动化抢票工具,把算准时间、备好连接、循环下单这件人力做不到的事,交给代码替你盯着。
它替你干了哪三件人干不过机器的事 ⚡
裸手操作,你赢在"敢点",输在"稳":刷新、填信息、卡时间全靠肌肉记忆,一抖就漏单。交给工具后,差别很直接——
- 时间:你看到的是"差不多到点了",它算的是校时后偏差只剩毫秒级的开票瞬间。
- 连接:你点一下才发一个请求,它能在开票前把 HTTP/2 通道热好、代理池备满。
- 重试:你手抖不敢连点,它在安全间隔内按规则循环下单,直到拿到订单或触发限购。
你可能会想:这跟浏览器插件有啥区别?区别在于它直接打下单接口、不碰页面渲染,省掉了最慢的那一环。
拆开一次自动化抢票请求:从输入到弹付款码 🔑
输入与解析:命令行把一段 tickets_info(JSON)交进来,含project_id、票档sku_id、观演人与登录态。interface/ 顺手把活动链接里的id参数抠成纯数字,你直接丢 ID 也行。
调度:进入等待先校时。程序向多个 NTP 服务器取样,取延迟最低样本的中位数定偏差,再用会员购接口的 Date 头粗校一遍,倒计时默认听"会员购 Date"。临近开票,它预热 util/request/BiliRequest.py 的 HTTP/2 通道,并拉一次项目详情判断是否热门。
执行:先 prepare 拿 token,再循环 create,命中就停——
# prepare:拿订单 token ret = request.post(f"{base}/api/ticket/order/prepare?project_id={pid}") token = extract_token(ret) # create:循环下单,命中即 break for attempt in range(1, retry_limit + 1): code = request.post(create_url, payload).json()["errno"] if code == 0: # 成功 break if code == 100051: # token 过期,回头重新 prepare break if code in TERMINAL: # 如 100003 已限购,终止 break time.sleep(interval / 1000)反馈:errno 归零后,程序取订单详情、生成付款码、弹出浏览器,并用 util/notifer/ 的 Bark、Telegram、Server 酱把"快去付款"推到手机。
从零到跑通:一份自动化抢票操作手册
搭环境:跟着 docs/installation.md 装好,Linux/macOS 会得到一个btb命令,Windows 直接跑预构建的 exe,建议 Python 3.11。
配场景:核心输入是 tickets_info,结构大致如下(示意,字段后注释):
{ "project_id": 85939, // 活动 ID,可从详情链接 id 解析 "sku_id": 123, // 票档 "screen_id": 456, // 场次 "count": 1, // 数量 "is_hot_project": true, // 热门项目走更强策略 "detail": "BW 2026 三日票", // 展示名 "buyer_info": [/* 观演人 */], "deliver_info": [/* 收货 */], "cookies": [/* 登录态 */] }启动验证:先拿一场非热门活动试水,命令独立成段方便复制:
btb buy --tickets-info ./tickets.json --time-start 2026-06-18T20:00:00常用参数用一张表交代,比罗列更清楚:
| 参数 | 作用 | 建议 |
|---|---|---|
--time-start | 开票时刻(北京时间) | 卡整点,提前校时 |
--interval | 两次下单间隔(ms) | 默认 1000,别为冲量压太低 |
--https-proxys | 代理池 | 热门活动强烈建议配上 |
--create-retry-limit | 单轮最多下单次数 | 按风控承受力设 |
--wait-for-buy-button | 等"立即购票"亮起再下单 | 页面有门禁时开启 |
踩坑与调优:文档不会主动告诉你的事 💡
划重点,这四个坑几乎人人会踩,现象、原因、解法一次给全:
| 现象 | 原因 | 解法 |
|---|---|---|
| 到点没中,日志显示时间偏差 0.8 秒 | 本机时钟漂了,NTP 只粗校 | 开票前多校几次时,用延迟最低的源 |
| 连续请求被 429 / 412 风控 | 单 IP 打太猛触发限流 | 上代理池,调大--rate-limit-delay-ms |
| 开票瞬间第一个请求反而慢 | HTTP/2 冷启动握手 | 确认已预热连接,热门项目提前拉详情 |
| 一直回 100001 维护码 | 服务端维护或接口版本切换 | 程序会自动切新旧接口重试,等它复检 |
说白了,网络环境决定下限,校时精度决定上限,别把两者混为一谈。
高频疑问,一次说清
问:会不会因为抢票被 B 站限制?工具只走公开接口、频率贴近人工,风险不高但不为零。热门活动建议配代理、拉开间隔,别把同一个 IP 打到限流。
问:只支持 B 站会员购吗?是,面向 B 站会员购的演出、活动票,BW、BML 这类都适用,其它平台不在范围。
问:完全不懂代码能用吗?能。用btb拉起 Web 界面填表即可,命令行只是进阶用法。看懂 tickets_info 那几个字段就够上手。
问:时间到底听谁的?优先听"会员购 Date"头,NTP 负责把本机时钟校到毫秒级;两者不一致时,以开票接口的时间为准。
边界与合规
它遵循非侵入式设计,只调用公开接口,不注入、不破坏页面。所有 Cookie、观演人信息都存在你本机,不上传任何第三方服务器;项目为个人学习研究用途,请勿用于代抢等商业行为。
别只收藏——挑一场非热门活动,把时间、代理、间隔都调一遍,手感比教程更可靠。
git clone https://gitcode.com/GitHub_Trending/bi/biliTickerBuy本文技术内容仅供学习研究,请遵守相关平台服务条款与法律法规。
【免费下载链接】biliTickerBuyb站会员购购票辅助工具项目地址: https://gitcode.com/GitHub_Trending/bi/biliTickerBuy
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考