实测可用:Bilibili 批量取消关注的 JavaScript 脚本编写全流程
·
实测可用:Bilibili 批量取消关注的 JavaScript 脚本编写全流程
在 Bilibili 平台长期使用后,用户可能积累了大量关注对象,手动逐个取消关注耗时耗力。本文详细介绍一个实测可用的 JavaScript 脚本,通过浏览器控制台实现批量取消关注。全程无需额外工具,仅需基本编程知识,操作简单安全。
为什么需要批量取消关注脚本
- 痛点分析:Bilibili 未提供官方批量管理功能,手动操作效率低下。例如,用户关注了 500 个频道时,手动取消需数小时。
- 脚本优势:自动化处理,减少重复劳动。实测中,脚本可在 5 分钟内处理 100 个关注。
- 适用场景:清理不活跃频道、调整内容偏好或账号维护。
准备工作
- 浏览器要求:Chrome 或 Firefox(最新版本)。
- 登录状态:确保已登录 Bilibili 账号。
- 打开关注列表:访问
https://space.bilibili.com/你的用户ID/follow(替换“你的用户ID”为实际 ID)。 - 开发者工具:在页面按
F12键,打开开发者工具,切换到Console标签页。
脚本编写核心步骤
我们将分步构建脚本,确保逻辑清晰。核心思路是模拟用户点击操作,并处理异步请求。
步骤1: 获取所有关注项元素
在 Bilibili 关注列表页面,每个关注项包含一个“取消关注”按钮。使用 document.querySelectorAll 获取这些元素:
// 获取所有关注卡片(类名基于 Bilibili 当前页面结构)
const followItems = document.querySelectorAll('.be-dropdown-item');
步骤2: 过滤出取消关注按钮
并非所有元素都是按钮,需基于文本内容过滤:
const unfollowButtons = [];
followItems.forEach(item => {
if (item.textContent.includes('取消关注')) {
unfollowButtons.push(item);
}
});
步骤3: 批量处理与延迟控制
为避免请求过快被限制,添加异步延迟:
// 函数:模拟点击并处理确认弹窗
async function clickUnfollow(button) {
button.click(); // 触发取消关注
await new Promise(resolve => setTimeout(resolve, 1000)); // 等待弹窗出现
// 点击确认按钮(类名可能更新,需验证)
const confirmBtn = document.querySelector('.be-btn--primary');
if (confirmBtn) confirmBtn.click();
}
完整脚本代码
以下代码可直接复制到控制台运行。实测基于 Bilibili 2023 年页面结构,有效可靠:
// Bilibili 批量取消关注脚本
(async function() {
// 1. 获取所有关注项
const items = document.querySelectorAll('.be-dropdown-item');
if (items.length === 0) {
console.log("错误:未找到关注元素,请检查是否在关注列表页");
return;
}
// 2. 过滤取消关注按钮
const unfollowButtons = [];
items.forEach(item => {
if (item.textContent.includes('取消关注')) {
unfollowButtons.push(item);
}
});
if (unfollowButtons.length === 0) {
console.log("错误:未找到'取消关注'按钮");
return;
}
// 3. 批量操作(带延迟)
console.log(`开始处理 ${unfollowButtons.length} 个关注`);
for (let i = 0; i < unfollowButtons.length; i++) {
console.log(`处理第 ${i + 1}/${unfollowButtons.length} 个`);
await clickUnfollow(unfollowButtons[i]);
await new Promise(resolve => setTimeout(resolve, 2000)); // 每次操作间隔 2 秒
}
console.log("批量取消关注完成!");
// 辅助函数:点击按钮并确认
async function clickUnfollow(button) {
button.click();
await new Promise(resolve => setTimeout(resolve, 1000));
const confirmBtn = document.querySelector('.be-btn--primary');
if (confirmBtn) {
confirmBtn.click();
await new Promise(resolve => setTimeout(resolve, 500));
}
}
})();
实测流程与注意事项
-
测试方法:
- 在控制台粘贴代码后按
Enter运行。 - 首次测试建议先处理少量关注(如修改循环条件为
i < 5)。 - 观察控制台日志,确保每一步成功。
- 在控制台粘贴代码后按
-
常见问题解决:
- 页面结构变更:若脚本失效,检查元素类名(如
.be-dropdown-item)是否更新,使用开发者工具元素检查器(Elements标签)获取新类名。 - 请求限制:如遇操作频繁提示,增加延迟时间(如将
2000改为3000)。 - 登录状态丢失:确保页面未刷新,脚本运行期间保持标签页活跃。
- 页面结构变更:若脚本失效,检查元素类名(如
-
安全建议:
- 风险提示:批量操作可能触发 Bilibili 安全机制,建议单次处理不超过 50 个关注。
- 数据备份:操作前导出关注列表(手动记录或截图)。
- 法律合规:仅用于个人账号管理,禁止滥用。
结语
通过本脚本,用户可快速清理 Bilibili 关注列表,节省宝贵时间。脚本代码简洁易懂,可根据页面变化灵活调整。建议定期验证脚本兼容性,享受自动化带来的便捷。
更多推荐


所有评论(0)