☰
biliTickerBuy完整入门:4步跑通这款开源B站会员购票工具
2026/10/19 6:46:17 网站建设 项目流程

biliTickerBuy完整入门:4步跑通这款开源B站会员购票工具

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

刷新B站会员购商品页的瞬间,「立即购买」变成「已售罄」,整个过程不到一秒,手动点根本追不上。开源项目biliTickerBuy就是针对这个问题的购票辅助工具:配置好商品链接、开售时间与购票人信息后,它会按设定的请求间隔自动监控商品状态,在开售时刻发起下单,生成支付二维码,并通过多渠道消息通知你结果,支持 Web 界面与无头命令行两种运行方式。

这是什么

一句话定位:biliTickerBuy 是一款基于 Python 的 B站会员购票自动化辅助工具,把「盯页面—刷新状态—提交订单—生成付款码」这套重复操作交给程序完成,适合想购买漫展票、演出票等热门商品、又不想全程手动刷页面的用户。它同时提供命令行(btb buy)和 Gradio Web 界面(btb ui)两种入口,代码全部开源,可自行审查行为边界。

4步快速上手

第 1 步:安装

需要 Python 3.11 及以上版本。

python -m pip install --upgrade bilitickerbuy

第 2 步:启动 Web 界面

btb

终端会打印一个本地地址(默认127.0.0.1:7860),浏览器打开即进入操作界面。

第 3 步:登录账号

在「设置」页选择扫码登录,或直接上传浏览器导出的 Cookie 文件,登录态保存在本地,之后可切换、删除多个账号。

第 4 步:配置商品并启动任务

在「开始抢票」页粘贴会员购商品链接,工具自动拉取场次与票种;选定票档、填写购票人与数量、确认开售时间后提交任务,日志页会实时显示监控与下单进度。

在服务器或其他 Linux 发行版上运行时,可改用 Docker 部署,见 docs/docker-deployment.md。

核心能力拆解

下单引擎:从开售等待到订单提交

核心逻辑在 task/buy.py 的buy_stream中,整个流程是一条事件流:先用wait_until_start按开售时间对齐时钟并进入等待,期间可轮询移动端购票页检测「立即购票」按钮是否出现(即页面门控,见 task/page_gate.py);开售后按固定间隔循环调用创建订单接口,遇到限流、代理失效等情况自动退避重试,成功后输出订单号与支付二维码。所有可调参数集中在 app_cmd/config/BuyConfig.py,包括time_start、interval、create_retry_limit等。

Web 界面:登录、选票、任务管理分Tab完成

界面由 tab/ 下的模块组成,各标签页分工清晰:

  • 设置页(tab/settings.py):账号登录/切换、商品链接解析、按场次拉取票种并生成任务配置;
  • 开始抢票页(tab/go.py):上传多份配置、分配代理、按队列并发启动任务;
  • 设置项页(tab/config.py):代理池、通知渠道、请求频率等高级参数;
  • 日志页(tab/log.py):查看各任务实时日志、停止/删除任务、提取支付二维码链接。

多通道消息通知:结果第一时间推送到手机

下单成功、代理池耗尽等事件都会触发推送,实现位于 util/notifer/,每个渠道一个独立模块。参数在 app_cmd/config/NotifierConfig.py 中定义,界面「设置项」页可逐项填写并一键测试:

通知渠道主要参数
Barkbark_token
PushPluspushplus_token
ServerChanserverchan_key
Ntfyntfy_url(可选账密)
Telegramtelegram_bot_token+telegram_chat_id
MeoWmeow_nickname

发送带超时与指数退避重试,失败不会拖住主流程。

代理池管理:固定代理与 API 动态取代理

代理相关能力集中在 util/proxy/:ProxyManager维护代理轮换与冷却,ProxyBackoff处理整池不可用时的退避,ProxyApiProvider支持直接粘贴代理服务商后台生成的提取 API,自动把各家返回格式统一成标准代理地址,兼容细节见 docs/proxy-api-compatibility.md。下单引擎还支持local_fanout策略,为单个来源 IP 并行维护多条 HTTP/2 连接。

时间同步:开售时间对齐到服务器

抢票时机对秒级误差敏感,util/TimeUtil.py 会同时向多台 NTP 服务器和 B 站接口取样,取偏移量的中位数作为本地时钟修正值,再由 task/buy_helpers.py 的wait_until_start用它校准开售等待,减少因本机时钟偏差导致的过早或过晚下单。

进阶玩法

  • 请求频率与重试参数:interval控制每轮请求间隔(毫秒),create_retry_limit控制单轮最大下单次数,rate_limit_delay_ms控制收到 429 后的延迟。默认值已做保守处理,可在界面设置项页调整,不建议无脑调高。
  • 代理池调优:proxy_max_consecutive_failures、proxy_cooldown_seconds、proxy_backoff_max_seconds分别控制单代理冷却触发次数、冷却时长和整池不可用时的最大退避;配置proxy_api_url后代理耗尽可自动补货,并可选择在耗尽时推送提醒。
  • 多任务并行:「开始抢票」页支持一次上传多份任务配置,系统会把代理列表拆分后按队列并发执行,天然适合多账号、多场次的组合。
  • 无头模式跑在服务器上:命令行btb buy --config-file 任务.json可在无界面环境运行,参数支持BTB_*环境变量回填(优先级:命令行 > 环境变量 > 默认值),配合 Docker 部署即可 7×24 值守。

避坑指南

  • Python 版本:项目要求 Python 3.11+,低版本安装会直接报错;pip install后若提示找不到btb命令,先重开终端(PATH 未刷新),或改用python -m biliTickerBuy启动。
  • Windows 安全提示:预构建版本可能触发 SmartScreen/Defender 拦截,确认来源为本项目官方发布后再继续运行。
  • 别把频率拉满:过高的请求间隔设置容易触发 429 限流甚至账号风控,遇到限流工具会自动延迟,但长期激进参数会放大风险,保持默认值并渐进调整更稳妥。
  • 服务器部署记得改绑定地址:默认监听127.0.0.1,外网无法访问;需加--server_name 服务器IP并放行 7860 端口。
  • 系统时间:时间同步模块会修正时钟偏差,但本机时间若被手动改成非标准时区或相差过大,仍会影响开售等待计算,部署环境请使用标准时区。
  • 许可边界:项目采用 PolyForm Noncommercial License 1.0.0,仅限个人学习与研究使用,不得用于代抢服务等商业场景。

结语

biliTickerBuy 把会员购下单里最枯燥的等待与重复点击环节自动化了,从商品解析、时间对齐到多通道通知都有现成模块,上手成本不高。使用时请遵守 B 站平台规则,控制请求强度、妥善保管账号凭据,仅用于个人购票场景。

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询