b站如何一次性把up主全部取消关注,让自己去学习

简介: b站如何一次性把up主全部取消关注,让自己去学习

刚打开b站准备学习,看到了动态上面一个小红点。忍不住点开进去,然后说 “看完这个就学习”。最后花了几个小时才停下来。


于是痛定思痛,取消所有up主的关注,这样就不会推送消息了。但是一个个点击取消关注太慢了,还要进up主页,点取消关注,再点关注才行。老子要一次性全部取消。


1.首先要进入动态,获取所有关注up主的uid。

找到了请求接口

然后写出get请求即可。(先不考虑cookies,之后会提到)

headers = {
    'authority': 'api.vc.bilibili.com',
    'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"',
    'accept': 'application/json, text/plain, */*',
    'sec-ch-ua-mobile': '?0',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36',
    'sec-ch-ua-platform': '"Windows"',
    'origin': 'https://t.bilibili.com',
    'sec-fetch-site': 'same-site',
    'sec-fetch-mode': 'cors',
    'sec-fetch-dest': 'empty',
    'referer': 'https://t.bilibili.com/',
    'accept-language': 'zh-CN,zh;q=0.9',
    'cookie': 'l=v; buvid3=814C060E-FE71-4DE9-9494-9AAB071A6CC353938infoc; rpdid=|(YuJY)mlRR0J\'ulmJJRmu~); LIVE_BUVID=AUTO7815939508172212; blackside_state=1; SESSDATA=d48f5588%2C1640098202%2Ca1ba8%2A61; bili_jct=b191c28d22553db5cddcf3d5e346dfce; DedeUserID=474351218; DedeUserID__ckMd5=3ae2bdd8036b1b59; sid=k7amn9j5; _uuid=D7D402F4-66ED-53F3-70D7-F966BB23AD2564644infoc; CURRENT_BLACKGAP=1; buvid_fp_plain=814C060E-FE71-4DE9-9494-9AAB071A6CC353938infoc; fingerprint3=ed6d0e5c32432f716869d80460572228; fingerprint=0ef2e232bef7ea64c80047daafe07ed1; fingerprint_s=98e441f41046c995e01d5a0afe498aca; CURRENT_QUALITY=80; video_page_version=v_old_home; buvid_fp=814C060E-FE71-4DE9-9494-9AAB071A6CC353938infoc; i-wanna-go-back=1; b_ut=6; CURRENT_FNVAL=2000; bp_video_offset_474351218=601020118333556205; innersign=0; b_lsid=BF10782FE_17D8F9EB610; bp_t_offset_474351218=601079023816686630; PVID=1',
}
#获取关注所有up信息,尤其是uid。
def get_uplist():
    resp = session.get('https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/w_dyn_uplist', headers=headers)
    print(resp.text)
    list=jsonpath(resp.json(),"$..[uid,uname]")
    print(list)
    return list


2.然后找到取消关注的post请求,根据up主uid构造data参数,直接提交就能取消关注了。

找到请求接口


根据uid构造data (yourcsrf是用于用户校验的,之后讲,没有的话会校验失败)

data = {
  'fid': '353230307',
  'act': '2',
  're_src': '11',
  'spmid': '333.999.0.0',
  'extend_content': '{"entity":"user","entity_id":353230307}',
  'jsonp': 'jsonp',
  'csrf': yourcsrf
}
def modify(uid):
    data['fid']=uid
    data['extend_content']='{"entity":"user","entity_id":'+uid+'}'
    resp=session.post('https://api.bilibili.com/x/relation/modify', headers=headers, data=data)
    print(resp.text)

提交后,返回成功!

刷新后确实取消关注了

这样就不需要手动点击取消关注了!

3.连起来操作,直接取消所有关注!!!


import requests
from jsonpath import  jsonpath
headers = {
    'authority': 'api.vc.bilibili.com',
    'sec-ch-ua': '" Not A;Brand";v="99", "Chromium";v="96", "Google Chrome";v="96"',
    'accept': 'application/json, text/plain, */*',
    'sec-ch-ua-mobile': '?0',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36',
    'sec-ch-ua-platform': '"Windows"',
    'origin': 'https://t.bilibili.com',
    'sec-fetch-site': 'same-site',
    'sec-fetch-mode': 'cors',
    'sec-fetch-dest': 'empty',
    'referer': 'https://t.bilibili.com/',
    'accept-language': 'zh-CN,zh;q=0.9',
    'cookie': yourcookie,
}
#获取关注所有up信息,尤其是uid。
def get_uplist():
    resp = session.get('https://api.vc.bilibili.com/dynamic_svr/v1/dynamic_svr/w_dyn_uplist', headers=headers)
    list=jsonpath(resp.json(),"$..[uid,uname]")
    print(list)
    return list
data = {
  'fid': '353230307',
  'act': '2',
  're_src': '11',
  'spmid': '333.999.0.0',
  'extend_content': '{"entity":"user","entity_id":353230307}',
  'jsonp': 'jsonp',
  'csrf': yourcsrf
}
def modify(uid,uname):
    data['fid']=uid
    data['extend_content']='{"entity":"user","entity_id":'+str(uid)+'}'
    session.post('https://api.bilibili.com/x/relation/modify', headers=headers, data=data)
    print(uname,"已经被取消关注")
if __name__ == '__main__':
    session=requests.session()
    while True:
        list=get_uplist()
        if list:
            for i in range(0,len(list),2):
                modify(list[i],list[i+1])
        else:
            break

再进来已经空空如也了


基本上我到这就行了,但是还有两个问题没有讲清楚。cookies的获取要用session模拟登录。


然后还有data里面的字段校验字段 csrf,发现它的值和cookies里面的一个值字段一模一样,就是 bili_jct


这样问题就简单了,只需要模拟登录,然后获取cookies,提出bili_jct做为data里面的csrf


之后更新。一次性写完太累了。


相关文章
|
安全 测试技术 UED
专项测试
专项测试
664 0
|
24天前
|
监控 Java 测试技术
JMeterPlugins-Standard-1.4.0使用步骤详解(附JMeter插件安装与监控图表配置)
JMeterPlugins-Standard-1.4.0.zip是JMeter官方推荐的标准插件包,安装后可增强监控能力:提供响应时间趋势、TPS曲线、服务器性能(CPU/内存等)实时采集等功能,助你快速定位压测瓶颈。操作简单——解压→复制jar至lib/ext→重启即可生效。(239字)
|
11月前
|
存储 人工智能 自然语言处理
通义灵码 vs. GitHub Copilot:中国AI编码工具的破局之道
全球AI编码工具形成“双极格局”,GitHub Copilot凭借先发优势主导市场,而通义灵码通过差异化路径突围。技术层面,通义灵码在中文语境理解、云原生绑定上展现优势;生态方面,Copilot依托GitHub开源生态,通义灵码则深耕阿里云企业协同场景;开发者心智战中,通义灵码以数据合规、本土化服务及定制化能力取胜。这场较量不仅是技术的比拼,更是生态逻辑与开发者需求的全面博弈,彰显中国AI编码工具“换道超车”的潜力。
1414 19
|
人工智能 安全 UED
【Gemini怎么使用】:Gemini 2.5 PRO flash 国内使用教程来了
超新星——Gemini 2.0!这不仅仅是一次简单的迭代更新,而是一场彻底的、颠覆性的技术革命!
2908 1
|
监控 数据中心
【专栏】交换机电口和光口的定义、特点及应用场景,做网络的这个常识得懂!
【4月更文挑战第28天】本文探讨了交换机电口和光口的定义、特点及应用场景。电口,常见于局域网和办公环境,成本低但传输距离有限;光口,适用于长距离、高速率传输,如城域网、数据中心,具有抗干扰强但成本高的特点。选择接口时需考虑传输距离、速率和成本,注意兼容性、线缆选择及维护管理。理解两者差异有助于网络规划和管理。
1703 0
软考证书如何申报抵税?详细教程来了!
本文介绍了软考证书如何申报个税抵扣的详细教程。根据规定,取得相关证书的当年可按3600元定额扣除。具体步骤包括下载并注册“个人所得税”APP、选择继续教育并填写扣除年度、选择职业资格继续教育类型及填写继续教育信息。未领取纸质证书者也可通过“中国人事考试网”查询信息后申报。
|
SQL 安全 Windows
SQL安装程序规则错误解析与解决方案
在安装SQL Server时,用户可能会遇到安装程序规则错误的问题,这些错误通常与系统配置、权限设置、依赖项缺失或版本不兼容等因素有关
1145 2
|
Oracle 关系型数据库 数据库
Oracle 部署及基础使用,字节跳动资深面试官亲述
Oracle 部署及基础使用,字节跳动资深面试官亲述
|
Ubuntu Linux iOS开发
|
IDE Java 开发工具
【Eclipse安装及使用(面向小白)】
【Eclipse安装及使用(面向小白)】

热门文章

最新文章