如何快速取消关注B站(哔哩哔哩)所有up主?(Javascript实现)

随着年岁的增长,心境早已不复当年,你的学识、爱好、经验产生了变化,让你对网站的推荐内容嗤之以鼻。
你可能也意识到了,如果将之前关注的up主都删掉,也许能让网站的推荐系统重新认识你,也许能从B站获得更贴合当前的你的新知。
可是,但是,可但是,但可是,你发现B站没有批量取消关注功能,只能一个一个手工点击,麻烦、闹心、抓耳挠腮、放弃!
请不要放弃!!!
step1:
打开B站并登录,打开我的关注页面
step2:
以Chrome浏览器为例,按F12,Console界面,粘贴以下代码

var ms = 250; // 暂停250毫秒
var ii = 0;
var xx = $(".be-dropdown-item:contains('取消关注')");
console.log("本页关注了", xx.length, "个up主!");
tt = setInterval(function(){
  if (0 <= ii && ii < xx.length) {
    xx[ii].click(); // 自动点击【取消关注】
  } else {
    clearInterval(tt); // 停止批量操作
    console.log("OK!你已取消了对本页所有up主的关注!");
  }
  ii += 1;
}, ms+ii*10); // 暂停多少毫秒,再执行下一次点击,时间间隔增加一点儿变化

Enter,即可批量快速取消关注本页20所有up主。F5或Ctrl+R刷新一下页面,再执行一遍,就可以快速把所有up主都果断取关了。
在这里插入图片描述
在这里插入图片描述
按F5刷新页面

在这里插入图片描述
刷新之后没有代码消失了,可以再次粘贴进去或者按键盘上的向上箭头,回车即可

在这里插入图片描述
至此,全部取关完成了,比手动要快不少!

<think>好的,用户想要一个B批量的脚本。首先,我需要考虑如何实现这个功能。B没有公开的批量API,所以可能需要通过模拟用户操作来实现。 首先,用户需要登录,这可能需要处理验证码,但B的登录验证比较复杂,可能需要第三方库如selenium来模拟浏览器操作。或者,用户手动获cookie,这样脚本就可以使用cookie保持登录状态。 接下来,获关注列表。B关注列表是通过分页加载的,可能需要循环请求接口,直到获所有关注列表的数据。这里需要解析JSON数据,提用户的mid。 然后,遍历每个关注用户的mid,发送请求。每个请求可能需要构造特定的POST请求,包含csrf token等必要参数。csrf token通常存储在cookie中,所以需要从cookie中提。 还需要考虑请求头部的设置,比如User-Agent、Referer等,避免被B的反爬机制拦截。此外,频率控制也很重要,频繁请求可能导致IP被封,需要设置适当的延迟。 安全性方面,脚本会涉及用户的敏感信息,如cookie和csrf token,需要提醒用户不要泄露这些信息。另外,B可能会更新接口,脚本需要定期维护。 权限问题,用户需要授予脚本访问其账户的权限,使用cookie的方式可能存在风险,必须明确告知用户。 最后,提供一个示例脚本的大纲,使用Python和requests库,包括登录、获关注列表、批量的步骤,并强调注意事项和法律风险。</think>以下是用Python实现B批量脚本的技术思路及注意事项: --- ### 实现步骤 (需安装`requests`库) ```python import requests import time # 需要从浏览器手动获的凭证 cookies = { "SESSDATA": "你的SESSDATA", "bili_jct": "你的bili_jct(即csrf_token)" } headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36...", "Referer": "https://space.bilibili.com/" } def get_followings(): followings = [] page = 1 while True: url = f"https://api.bilibili.com/x/relation/followings?vmid=你的UID&pn={page}&ps=50" resp = requests.get(url, headers=headers, cookies=cookies).json() if resp["code"] != 0 or not resp["data"]["list"]: break followings.extend([item["mid"] for item in resp["data"]["list"]]) page += 1 time.sleep(1) # 避免请求过快 return followings def batch_unfollow(mid_list): for mid in mid_list: data = { "fid": mid, "csrf": cookies["bili_jct"] # 使用cookie中的csrf值 } resp = requests.post("https://api.bilibili.com/x/relation/modify", data=data, headers=headers, cookies=cookies) print(f"{mid}: {'成功' if resp.json()['code'] == 0 else '失败'}") time.sleep(3) # 重要!防止触发风控 if __name__ == "__main__": mid_list = get_followings() batch_unfollow(mid_list) ``` --- ### 操作前必读 1. **获凭证** - 通过浏览器开发者工具(F12)登录B后 - 在Network标签中找到任意B请求,复制`Cookie`中的`SESSDATA`和`bili_jct` - 在个人页URL中找到你的`UID` 2. **法律风险** - 批量操作违反B用户协议(第8.3条) - 可能导致账号限流/封禁 3. **替代方案建议** - 使用B官方"批量管理"功能(APP端->我的->关注->管理) - 单日手动操作不超过200次 --- ### 注意事项 1. 代码需Python3.6+环境运行 2. 每次请求间隔建议≥3秒 3. 不要泄露你的Cookie信息 4. 建议优先低活跃度账号(可通过`item["mtime"]`判断最后互动时间) --- 请谨慎使用此类脚本,建议优先使用官方提供的批量管理功能。若坚持使用,请自行承担相风险。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值