ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

biliTickerBuy:3分钟搞定B站会员购抢票,一键安装准时下单

biliTickerBuy:3分钟搞定B站会员购抢票,一键安装准时下单

biliTickerBuy:3分钟搞定B站会员购抢票,一键安装准时下单

【免费下载链接】biliTickerBuyb站会员购购票辅助工具项目地址: https://gitcode.com/GitHub_Trending/bi/biliTickerBuy

20:00 开售的那一秒,你疯狂点击"立即购买",屏幕却只留下一个转圈;刷新后弹出"已售罄",这种遗憾大概每个在 B 站会员购抢过票的人都体会过。手速再快也快不过网络延迟,那如果有个开源工具替你盯着时间、替你发起请求、抢到了再推送到你手机上呢?biliTickerBuy 就是这样一款 B 站会员购抢票辅助工具:开源免费,同时提供 Web 界面和命令行两种用法,一份 JSON 配好,到点自动下单。

biliTickerBuy 能帮你做什么

一句话:它是抢票时替你"按按钮"的替补队员。你把 B 站 Cookie、商品链接、开售时间交给它,它会提前校准时间、预热页面,到点准时提交订单,成功后通过通知渠道把付款二维码推给你,帮你守住付款窗口。适合抢演唱会门票、抢限量周边的用户,也适合想研究"自动化下单该怎么做"的开发者——所有流程源码开放,可查可改。

三步装好并跑起来

第一步,安装。最省事的方式是 pip,包名是bilitickerbuy:

pip install --upgrade bilitickerbuy

装完会注册btb命令。想要预构建包或 Docker 部署,可以看 docs/installation.md,Windows、Linux、macOS 都覆盖。

第二步,启动。直接运行btb,浏览器会打开本地 Web 界面(基于 Gradio);如果走无人值守,就用btb buy ./ticket.json跑无头任务,服务器场景再加--server_name把界面暴露给局域网。

第三步,配置。在界面里按提示粘贴 Cookie、填商品链接、选好票档和开售时间、挑一个通知渠道,点击启动,任务就进入等待状态了。

它和别的抢票脚本不一样在哪

不少同类脚本的思路是高频轰炸请求,biliTickerBuy 的取向是"辅助而非替代":

  • 时间优先,而不是频率优先。核心流程内置 NTP 时间校准(默认走阿里云、腾讯云等国内 NTP 服务器),并会用 B 站响应里的 Date 头做交叉校验,确保在"真正的开售时刻"出手,而不是本机时间偏差后的某一秒。
  • 对限流敏感。请求间隔默认 1000ms、任意可调;收到 HTTP 429 时按rate_limit_delay_ms主动退让,不硬撞风控。
  • 失败不黑屏,结果必达。抢票成功后多渠道推送:Server酱、PushPlus、Bark、MeoW、ntfy、Telegram,外加本地声音提醒,总有一路能叫醒你。
  • 双模同构。图形界面给人用,btb buy给脚本用,读的是同一份配置,不用学第二套玩法。

实战场景:演唱会预售,到点自动出手

目标是 20:00 开售前你完全不用守在电脑旁。

准备阶段:在 Web 界面选好商品与票档后导出配置文件,补上开售时间字段并保存为ticket.json,关键项只有几处:

{ "time_start": "2026-06-18T20:00:00", "interval": 1000 }

执行阶段:开售前一天运行btb buy ./ticket.json,或直接在界面点启动。程序会先同步时间、预热票面页面,到点提交下单请求,并在一轮内自动重试到达到上限为止。

结果阶段:下单成功会弹出付款二维码(可选自动打开支付页),同时向你配置的所有通知渠道推送订单信息。其余场景基本是同构的:限量周边换链接即可;多代理用户只需在配置里追加代理列表,程序会自动做失败冷却和池内切换。

三条值得先试的调优技巧

  1. 时间同步是生死线。程序抢票前会自动做 NTP 校准,日志里如果看到"NTP时间同步失败, 使用本地时间",就通过BTB_NTP_SERVERS环境变量换一组 NTP 服务器再跑,否则本机时间漂移几秒就可能错过整个窗口。
  2. 间隔宁保守勿激进。interval单位是毫秒,默认 1000。即使你手握稳定代理,也建议保持接近真人节奏——触发风控的后果比晚几百毫秒下单严重得多。
  3. 代理池提前备好。https_proxys支持逗号分隔的代理池,也可以配proxy_api_url从代理商接口自动补货;连续失败的代理会被临时冷却,整个池子不可用时程序会退避等待,并可选择推送到你手机。

常见故障排查

症状可能原因解法
找不到btb命令脚本目录未进 PATH重开终端;或改用python -m biliTickerBuy启动
登录后显示未登录Cookie 已过期重新抓取 Cookie,建议每次开售前刷新一次
到点没下单或下错时间本机时间与服务器偏差查看 NTP 同步日志,用BTB_NTP_SERVERS修正时间源
下单请求持续超时本地网络或代理不稳更换代理;用--log-level debug定位具体环节
日志频繁出现 429请求频率过高调大interval,并增大rate_limit_delay_ms

架构速览

目录职责
app_cmd/btb/btb buy命令入口与参数解析
task/抢票核心流程:时间同步、页面预热、下单、支付结果
interface/配置校验、登录态检测、任务执行管理
util/HTTP 请求、代理池、多渠道通知、时间校准、存储
tab/Gradio 页面:配置、启动、日志与问题面板

技术栈上有一个亮点值得留意:网络层基于httpx并对 HTTP/2 连接做了管理,配置字段则交给pydantic校验,改坏了字段会在启动时就被拦下来。

进阶与社区

想改流程的人可以从 task/buy.py 和 util/request/BiliRequest.py 入手;Docker 与环境变量的完整清单在 docs/ 里都有。使用问题建议先翻项目 discussions,再提 Issue 反馈 BUG 或功能建议;如果你需要更强的分布式能力,作者还有同系列的 biliTickerStorm 项目可以参考。

写在最后

biliTickerBuy 的价值,是把"开售瞬间屏息按按钮"变成"提前配好、等推送"。但请记住,工具只是帮手:真正的成功率来自准确的时间、合理的请求频率,以及对平台规则的尊重。

本项目遵循 PolyForm Noncommercial License,仅供个人学习与研究使用。请遵守 B 站平台使用规则,合理设置请求频率,勿用于商业用途或任何违规行为。

如果你也有一张惦记已久的票,现在就装上试试吧——3 分钟就能跑起来;觉得有用的话,给项目点个 Star 是对作者最好的支持。

【免费下载链接】biliTickerBuyb站会员购购票辅助工具项目地址: https://gitcode.com/GitHub_Trending/bi/biliTickerBuy

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进