首页
/ B站关注列表管理自动化:从手动维护到智能清理的完整解决方案

B站关注列表管理自动化:从手动维护到智能清理的完整解决方案

2026-04-11 09:10:25作者:谭伦延

问题导入:关注列表管理的技术挑战

您是否曾发现B站关注列表中存在大量长期未活跃的创作者?随着使用时间增长,大多数用户的关注列表会逐渐积累数十甚至上百个账号,其中包含各类活动期间临时关注的主播、内容风格已变化的创作者,以及重复关注的同类账号。这些无效关注不仅影响内容发现效率,还会导致推荐算法精准度下降。

传统手动管理方式存在显著局限:单账号取关操作需要3-5次点击,完成100个账号的清理至少需要30分钟;缺乏批量筛选机制导致重要创作者可能被误清理;重复关注难以识别造成管理效率低下。这些问题促使我们寻求技术化解决方案。

方案对比:现有管理工具的技术选型

目前B站关注管理工具主要分为三类解决方案,各有技术特点与适用场景:

解决方案类型 技术实现方式 效率指标 安全控制 适用场景
浏览器脚本 JavaScript DOM操作 中等(约100账号/10分钟) 低(无权限控制) 临时少量清理
移动端辅助工具 屏幕坐标模拟点击 低(约50账号/30分钟) 中(基础白名单) 手机端操作偏好者
BiliBiliToolPro批量取关 API接口直接调用 高(约500账号/1分钟) 高(多维度防护) 技术用户长期管理

BiliBiliToolPro采用直接调用B站API的方式,通过src/Ray.BiliBiliTool.Application/UnfollowBatchedTaskAppService.cs实现核心功能,相比其他方案具有明显技术优势:请求效率提升10倍以上,支持精确分组筛选,内置多重安全机制。

核心解析:批量取关功能的技术实现

功能架构设计

批量取关功能采用分层架构设计,主要包含三个核心模块:

  1. 配置层:通过src/Ray.BiliBiliTool.Config/Options/UnfollowBatchedTaskOptions.cs定义可配置参数,支持分组筛选、数量控制和白名单设置
  2. 应用层:在UnfollowBatchedTaskAppService.cs中实现业务逻辑,协调领域服务与API调用
  3. 数据层:通过Ray.BiliBiliTool.Agent项目中的IRelationApi接口与B站服务器交互

关键技术原理

系统通过以下技术流程实现批量取关:

  1. 关注列表获取:调用GetFollowings接口获取指定分组的关注列表,支持分页加载
  2. 筛选逻辑处理:应用配置规则过滤需要保留的用户(基于RetainUids白名单)
  3. 批量操作执行:通过ModifyRelation接口执行取消关注操作,实现并发控制避免请求频率限制
  4. 操作日志记录:将取关结果写入执行日志,支持后续审计与验证

安全防护机制

为防止误操作,系统设计了多层次安全保障:

  • 分组隔离机制:仅对指定GroupName的关注进行操作,避免影响其他分组
  • 数量限制控制:通过Count参数限制单次取关数量,默认值为20
  • 白名单保护:RetainUids配置项支持指定不可取关的用户ID列表
  • 操作日志审计:完整记录每次取关操作,支持结果回溯

分步实践:批量取关功能的实施路径

环境准备与部署

  1. 获取项目代码
# 克隆项目仓库
git clone https://gitcode.com/GitHub_Trending/bi/BiliBiliToolPro
cd BiliBiliToolPro
  1. 选择部署方式

根据您的技术环境选择合适的部署方式:

  • Docker部署:适合有容器化经验的用户

    docker build -t bilibili-tool .
    docker run -d --name bili-tool bilibili-tool
    
  • 青龙面板部署:适合需要图形化管理的用户

    1. 在青龙面板中添加任务仓库
    2. 拉取项目脚本
    3. 配置环境变量
  • 源码部署:适合开发人员

    dotnet build Ray.BiliBiliTool.sln
    dotnet run --project src/Ray.BiliBiliTool.Console
    

配置参数设置

以青龙面板部署为例,配置批量取关任务需要修改以下参数:

  1. 任务脚本配置

    编辑qinglong/DefaultTasks/bili_task_unfollowBatched.sh文件:

    #!/usr/bin/env bash
    # cron:0 12 1 * *  # 每月1日12点执行
    # new Env("bili批量取关任务")
    
    . bili_task_base.sh
    
    # 任务标识
    target_task_code="UnfollowBatched"
    
    # 执行任务
    run_task "${target_task_code}"
    
  2. 环境变量配置

    在青龙面板的环境变量页面(如图所示)添加以下关键配置:

    青龙面板环境变量配置界面

    环境变量名称 说明 示例值
    Ray_UnfollowBatchedTask__GroupName 目标取关分组 "天选时刻"
    Ray_UnfollowBatchedTask__Count 单次取关数量 20
    Ray_UnfollowBatchedTask__RetainUids 保留用户ID列表 "123456,789012"

任务执行与监控

  1. 任务创建

    在青龙面板的定时任务页面添加新任务,配置执行周期和脚本路径:

    青龙面板定时任务列表

  2. 执行监控

    通过Web管理界面的任务调度页面监控执行状态:

    Web界面任务调度状态

  3. 结果验证

    执行完成后,可以通过以下方式验证结果:

    • 查看任务执行日志确认取关数量
    • 登录B站网页版检查关注列表变化
    • 分析执行报告中的统计数据

效果验证:自动化管理的效率提升

性能对比分析

实施批量取关功能后,关注列表管理效率得到显著提升:

操作类型 传统手动方式 BiliBiliToolPro 效率提升倍数
100账号取关 30分钟 30秒 60倍
分组筛选 手动识别 自动筛选 无法量化
误操作率 约5% <0.1% 50倍

长期管理策略

为保持关注列表的持续优化,建议采用以下管理策略:

  1. 定期执行计划:设置每月自动执行一次批量取关任务
  2. 分组管理机制:将临时关注的账号放入特定分组统一管理
  3. 动态白名单:维护重要创作者的UID白名单,确保不被误清理
  4. 多账号管理:通过配置多组Cookie实现多个B站账号的统一管理

常见问题解决方案

  1. 任务执行失败

    • 检查网络连接状态
    • 验证Cookie有效性
    • 查看日志文件定位错误原因
  2. 取关数量异常

    • 检查Count参数配置
    • 确认目标分组是否正确
    • 验证RetainUids格式是否正确
  3. API调用限制

    • 降低单次取关数量
    • 增加任务执行间隔
    • 启用请求限流功能

通过BiliBiliToolPro的批量取关功能,您可以将关注列表管理从耗时的手动操作转变为高效的自动化流程。无论是内容创作者还是普通用户,都能通过这套解决方案保持关注列表的清爽有序,提升B站使用体验。随着项目的持续迭代,更多高级功能将不断加入,为用户提供更完善的B站账号管理工具。

登录后查看全文
热门项目推荐
相关项目推荐