3 个参数搞定 B 站批量取关:BiliBiliToolPro UnfollowBatched 完整配置指南
2026/9/20 23:53:58 网站建设 项目流程

3 个参数搞定 B 站批量取关:BiliBiliToolPro UnfollowBatched 完整配置指南

【免费下载链接】BiliBiliToolProB 站(bilibili)自动任务工具,支持docker、青龙、k8s等多种部署方式。全面拥抱AI。敏感肌也能用。项目地址: https://gitcode.com/GitHub_Trending/bi/BiliBiliToolPro

BiliBiliToolPro 是一款支持 Docker、青龙面板等多种部署的 B 站自动任务工具,其中 UnfollowBatched(批量取关)任务能按你预设的关注分组,自动从列表尾部逐个取消关注,一次清掉几十个 UP 主,不用手动点"已关注"再确认。这篇教程带你从零部署、填参数、跑任务到看日志核对结果,走完整条流程。

🚀 先选部署方式:Docker 还是青龙面板

两条路线最终都是同一套 .NET 程序,差别只在"谁来定时触发"。

Docker 路线:自带 Web 页面,适合想图形化管理的你

克隆仓库(https://gitcode.com/GitHub_Trending/bi/BiliBiliToolPro)后进入docker/sample/目录,参考docker-compose.yml启动容器,端口默认映射为22330:8080。首次使用打开 Web 页面用 B 站 App 扫码登录,登录态(Cookie)会写入挂载的config/cookies.json文件,重启不丢:

之后所有配置都能直接在 Web 的Configurations页改,不用碰文件。

青龙面板路线:脚本即任务,适合已在跑青龙的机器

脚本在qinglong/DefaultTasks/目录,基础脚本bili_task_base.sh首次运行会自动安装 .NET 8(或拉取预编译包),之后的任务由青龙定时触发。其中bili_task_unfollowBatched.sh对应的定时任务名叫"bili批量取关主播",文件头部注释# cron:0 12 1 * *表示默认每月 1 号 12:00 跑一次,也可以在青龙里改规则或点"运行"立即执行。

⚙️ 填 3 个关键参数:UnfollowBatchedTaskConfig 配置指南

任务配置在appsettings.jsonUnfollowBatchedTaskConfig节(Docker 部署时在 Web 的Unfollow Batch页面直接改)。Docker 方式登录后,Cookie 与配置的对应关系可参考:

最小可用配置就 5 行:

"UnfollowBatchedTaskConfig": { "IsEnable": true, "GroupName": "天选时刻", "Count": 20, "RetainUids": "17830764,683106061" }

各参数怎么填:

参数默认值填写建议与注意点
IsEnabletruefalse时任务整体跳过,适合临时停用
GroupName天选时刻必须是 B 站 App 里精确存在的分组名;取关只作用于该分组成员,不会碰你的其他关注列表
Count20本次取关人数,从分组列表尾部倒序取;填-1表示清空整个分组
RetainUids白名单,只认数字 UpId(UP 主主页 URL 里space.bilibili.com/后面那串数字),多个用英文逗号分隔
Cron0 0 6 1 * ?Cron 表达式(定时任务的"几点跑"规则),默认每月 1 号 6 点

两个最容易翻车的点先说在前面:

  • GroupName不做模糊匹配。源码按精确名称查分组的 tag ID(AccountDomainService.cs),名称对不上时日志只有一句"分组名称不存在",然后任务静默结束——不会发生任何取关。正确顺序是:先在 B 站 App 里手动建好分组,把待清理的 UP 主"移入"该分组,再启动任务。
  • RetainUids填用户名没用。白名单比对的是 UpId 数字,填错等于没填。取关操作工具无法回滚,误删后只能手动重新关注,所以还在活跃关注的 UP 主务必先进白名单。

另外,取关动作还受Security节的IntervalSecondsBetweenRequestApi控制(默认 3 秒):每次调用 B 站接口之间强制间隔,避免短时间内的高频批量请求触发 B 站风控(安全检测机制)。间隔不用调太大,默认值已经比较稳妥。

📝 触发任务,并立刻用日志关键字核对结果

跑起来只是开始,核对结果才算闭环。两种触发方式:

  • 青龙:定时任务列表找到"bili批量取关主播",点"运行"立即执行;
  • Docker Web:Schedules 页找到UnfollowBatchedJob,Actions 列一键手动触发,或等 Cron 到点自动执行,下次运行时间也显示在同一页。

执行后在日志里按关键字对数,顺序如下:

  1. 【分组下共有】N人/【目标取关】N人:确认分组识别正确、本轮目标数量符合预期;
  2. 【取关结果】白名单,跳过:命中RetainUids,属正常行为;【取关结果】成功/失败(失败会跟一条【原因】)记录每次取关结果;
  3. 【本次共取关】N人:实际成功数,注意它可能小于目标数(被白名单跳过或失败);
  4. 【分组下剩余】N人:收尾数字,直接打开 B 站 App 的分组页对照,两边一致说明数据没问题。

只要看到"分组名称不存在"或"分组下不存在up",说明任务其实没干活,回去检查分组名拼写即可。

🧭 长期运行的两个习惯

大分组别一次清空。Count-1会取关整个分组,但每次取关之间都有接口间隔,百人的组全量清空至少也要十分钟以上,中途任何一次失败都得重来。更稳的做法是拆成 3~4 次,每次Count取 30 左右,跑完看一次剩余人数再决定下一批。

首次启用先小步试跑。建议第一轮换Count为 5,确认分组命中、白名单生效、剩余人数符合预期后,再改回正式参数交给 Cron 每月自动执行。此后每月只需打开日志核一遍【本次共取关】【分组下剩余】,两个数字对得上,这条定时任务就一直在正常干活。

【免费下载链接】BiliBiliToolProB 站(bilibili)自动任务工具,支持docker、青龙、k8s等多种部署方式。全面拥抱AI。敏感肌也能用。项目地址: https://gitcode.com/GitHub_Trending/bi/BiliBiliToolPro

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

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

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

立即咨询