首页
/ 3大核心技术实现B站关注列表自动化管理效率工具

3大核心技术实现B站关注列表自动化管理效率工具

2026-04-11 09:23:08作者:劳婵绚Shirley

B站(bilibili)作为国内领先的视频内容平台,用户关注列表随着使用时间增长往往会积累大量无效关注,手动管理面临效率低下、筛选困难等问题。本文将系统介绍如何利用BiliBiliToolPro实现关注列表的批量操作与智能筛选,通过技术手段提升账号管理效率,解决关注列表臃肿的痛点。

技术原理:批量取关功能的实现架构

BiliBiliToolPro的批量取关功能基于领域驱动设计(DDD)架构实现,核心处理逻辑位于src/Ray.BiliBiliTool.Application/UnfollowBatchedTaskAppService.cs。该服务通过调用账户领域服务(AccountDomainService)的批量操作接口,实现关注列表的自动化管理。

系统架构采用分层设计:

  • 表现层:提供Web界面与青龙面板两种操作入口
  • 应用层:封装业务流程,协调领域对象完成业务逻辑
  • 领域层:核心业务逻辑与领域模型
  • 基础设施层:提供HTTP请求、数据持久化等技术支持

批量取关功能架构图

实施路径:环境部署与配置参数解析

环境准备

首先克隆项目到本地环境:

git clone https://gitcode.com/GitHub_Trending/bi/BiliBiliToolPro

核心配置参数详解

批量取关功能的核心配置位于src/Ray.BiliBiliTool.Config/Options/UnfollowBatchedTaskOptions.cs,主要参数包括:

配置项 数据类型 说明 默认值
GroupName string 目标取关分组名称 "天选时刻"
Count int 单次取关数量限制 20
RetainUids List 保留用户ID列表

部署方式选择

根据使用场景不同,推荐以下部署方案:

  1. 青龙面板部署(适合新手用户)

    • 优点:操作简单,图形化界面管理
    • 路径:qinglong/DefaultTasks/bili_task_unfollowBatched.sh
  2. Docker容器部署(适合技术爱好者)

    • 优点:环境隔离,配置灵活
    • 路径:docker/sample/docker-compose.yml
  3. Kubernetes部署(适合企业级应用)

    • 优点:集群管理,高可用性
    • 路径:helm/bilibili-tool/

核心算法解析:批量处理的实现逻辑

批量取关功能的核心算法采用分页查询+批量操作的设计模式,主要流程如下:

// 伪代码:批量取关核心算法
public async Task ExecuteUnfollowBatchedTask()
{
    // 1. 获取目标分组关注列表
    var followings = await _accountApi.GetFollowings(
        new GetFollowingsRequest { GroupName = _options.GroupName }
    );
    
    // 2. 应用白名单过滤
    var targetUsers = followings
        .Where(u => !_options.RetainUids.Contains(u.Uid))
        .Take(_options.Count)
        .ToList();
    
    // 3. 批量执行取关操作
    foreach (var user in targetUsers)
    {
        await _accountApi.ModifyRelation(
            new ModifyRelationRequest { Uid = user.Uid, Action = RelationAction.Unfollow }
        );
        
        // 4. 记录操作日志
        _logger.LogInformation($"已取消关注: {user.Name}({user.Uid})");
        
        // 5. 控制请求频率,避免API限制
        await Task.Delay(1000);
    }
}

算法特点:

  • 采用分批处理策略,避免单次请求数据量过大
  • 实现频率控制机制,符合B站API调用规范
  • 集成日志系统,提供完整操作审计

实操指南:从配置到执行的完整流程

步骤1:配置任务参数

🔍 编辑配置文件appsettings.json,设置取关参数:

"UnfollowBatchedTask": {
  "GroupName": "天选时刻",
  "Count": 30,
  "RetainUids": [123456, 789012]  // 保留的UP主ID
}

步骤2:创建定时任务

在青龙面板中添加任务:

#!/usr/bin/env bash
# cron:0 12 1 * *
# new Env("bili批量取关主播")

. bili_task_base.sh

target_task_code="UnfollowBatched"
run_task "${target_task_code}"

步骤3:执行与监控

⚠️ 首次运行建议先进行测试,观察执行日志:

# 测试执行命令
dotnet run --project src/Ray.BiliBiliTool.Console -- task UnfollowBatched

执行过程中可通过Web界面查看实时日志:

批量取关任务执行日志

风险控制:安全机制与边界处理

批量操作功能内置多重安全防护机制:

  1. 操作白名单:通过RetainUids配置保护重要UP主
  2. 数量限制:Count参数控制单次取关数量上限
  3. 分组隔离:仅对指定分组执行操作,避免误操作
  4. 操作日志:完整记录所有取关行为,支持审计追溯

性能对比:自动化vs手动操作

操作方式 100个关注处理时间 准确率 可重复性 人力成本
手动操作 30-45分钟 约95%
自动化工具 2-3分钟 100%

优化策略:效率提升与长期维护

定期执行策略

推荐设置每月1日执行批量取关任务,平衡账号活跃度与列表整洁度:

# 每月1日12:00执行
0 12 1 * *

相关效率工具对比

工具名称 核心功能 部署难度 适用场景
BiliBiliToolPro 全功能B站自动化工具 中等 个人账号管理
B站助手浏览器插件 网页端批量操作 临时清理
自定义Python脚本 高度定制化 技术开发者

进阶优化建议

  1. 智能筛选策略:结合UP主活跃度、内容相关性动态调整取关优先级
  2. 多账号管理:通过src/Ray.BiliBiliTool.Config/Options/BiliBiliCookieOptions.cs配置多账号支持
  3. 操作通知:集成推送服务(如钉钉、企业微信)获取执行结果通知

通过BiliBiliToolPro的批量取关功能,用户可以显著提升关注列表管理效率,实现从手动操作到自动化管理的转变。合理配置参数并结合定期执行策略,能够保持关注列表的清爽有序,提升B站使用体验。项目提供的多种部署方案确保不同技术水平的用户都能轻松上手,是B站用户提升账号管理效率的理想工具。

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