3大核心技术实现B站关注列表自动化管理效率工具
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列表 | 空 |
部署方式选择
根据使用场景不同,推荐以下部署方案:
-
青龙面板部署(适合新手用户)
- 优点:操作简单,图形化界面管理
- 路径:
qinglong/DefaultTasks/bili_task_unfollowBatched.sh
-
Docker容器部署(适合技术爱好者)
- 优点:环境隔离,配置灵活
- 路径:
docker/sample/docker-compose.yml
-
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界面查看实时日志:
风险控制:安全机制与边界处理
批量操作功能内置多重安全防护机制:
- 操作白名单:通过RetainUids配置保护重要UP主
- 数量限制:Count参数控制单次取关数量上限
- 分组隔离:仅对指定分组执行操作,避免误操作
- 操作日志:完整记录所有取关行为,支持审计追溯
性能对比:自动化vs手动操作
| 操作方式 | 100个关注处理时间 | 准确率 | 可重复性 | 人力成本 |
|---|---|---|---|---|
| 手动操作 | 30-45分钟 | 约95% | 低 | 高 |
| 自动化工具 | 2-3分钟 | 100% | 高 | 低 |
优化策略:效率提升与长期维护
定期执行策略
推荐设置每月1日执行批量取关任务,平衡账号活跃度与列表整洁度:
# 每月1日12:00执行
0 12 1 * *
相关效率工具对比
| 工具名称 | 核心功能 | 部署难度 | 适用场景 |
|---|---|---|---|
| BiliBiliToolPro | 全功能B站自动化工具 | 中等 | 个人账号管理 |
| B站助手浏览器插件 | 网页端批量操作 | 低 | 临时清理 |
| 自定义Python脚本 | 高度定制化 | 高 | 技术开发者 |
进阶优化建议
- 智能筛选策略:结合UP主活跃度、内容相关性动态调整取关优先级
- 多账号管理:通过
src/Ray.BiliBiliTool.Config/Options/BiliBiliCookieOptions.cs配置多账号支持 - 操作通知:集成推送服务(如钉钉、企业微信)获取执行结果通知
通过BiliBiliToolPro的批量取关功能,用户可以显著提升关注列表管理效率,实现从手动操作到自动化管理的转变。合理配置参数并结合定期执行策略,能够保持关注列表的清爽有序,提升B站使用体验。项目提供的多种部署方案确保不同技术水平的用户都能轻松上手,是B站用户提升账号管理效率的理想工具。
GLM-5智谱 AI 正式发布 GLM-5,旨在应对复杂系统工程和长时域智能体任务。Jinja00
GLM-5.1GLM-5.1是智谱迄今最智能的旗舰模型,也是目前全球最强的开源模型。GLM-5.1大大提高了代码能力,在完成长程任务方面提升尤为显著。和此前分钟级交互的模型不同,它能够在一次任务中独立、持续工作超过8小时,期间自主规划、执行、自我进化,最终交付完整的工程级成果。Jinja00
LongCat-AudioDiT-1BLongCat-AudioDiT 是一款基于扩散模型的文本转语音(TTS)模型,代表了当前该领域的最高水平(SOTA),它直接在波形潜空间中进行操作。00- QQwen3.5-397B-A17BQwen3.5 实现了重大飞跃,整合了多模态学习、架构效率、强化学习规模以及全球可访问性等方面的突破性进展,旨在为开发者和企业赋予前所未有的能力与效率。Jinja00
HY-Embodied-0.5这是一套专为现实世界具身智能打造的基础模型。该系列模型采用创新的混合Transformer(Mixture-of-Transformers, MoT) 架构,通过潜在令牌实现模态特异性计算,显著提升了细粒度感知能力。Jinja00
FreeSql功能强大的对象关系映射(O/RM)组件,支持 .NET Core 2.1+、.NET Framework 4.0+、Xamarin 以及 AOT。C#00

