Bilibili 批量取消关注工具:解放双手,轻松管理关注列表免费开源

你是否也曾为B站上密密麻麻的关注列表而烦恼?想要清理却发现手动取消关注太费时费力?别担心,这款Bilibili批量取消关注工具正是为你而生!

开发初衷:

  • 手动取消关注效率低下: 随着B站内容的日益丰富,我们关注的UP主也越来越多。然而,手动一个个取消关注不仅耗时耗力,还容易让人感到疲惫和烦躁。
  • 批量操作需求迫切: 当我们需要清理关注列表时,往往希望一次性取消多个关注,而不是逐个点击。这款工具正是为了解决这一痛点而开发的。
  • 简化操作流程,提升用户体验: 我们希望为用户提供一个简单易用、高效便捷的工具,让关注列表管理变得更加轻松愉快。

工具优势:

  • 一键批量取消: 只需简单几步操作,即可批量取消多个关注,省时省力。
  • 自定义选择: 支持按分类、按时间等多种方式筛选关注列表,精准取消目标关注。
  • 安全可靠: 严格遵守B站平台规则,确保账号安全,无需担心被封禁风险。

适用场景:

  • 清理过期关注: 取消关注已不再活跃或不再感兴趣的UP主。
  • 整理关注列表: 将关注列表分类整理,方便日后查找和管理。
  • 账号迁移: 更换账号时,快速取消原账号的关注。

使用这款Bilibili批量取消关注工具,你将告别手动操作的繁琐,轻松管理关注列表,享受更加清爽的B站体验!

图片[1]-Bilibili 批量取消关注工具:解放双手,轻松管理关注列表免费开源-海马科技
const { default: axios } = require("axios");

async function getlist() {
    const url = `https://api.bilibili.com/x/relation/followings?order=desc&order_type=&vmid=365148057&pn=1&ps=24&gaia_source=main_web&web_location=333.1387`;

    const headers = {
        'Cookie': ' '// 替换为有效的 Cookie
    };

    try {
        const res = await axios.get(url, { headers });

        if (res.data.data.list && Array.isArray(res.data.data.list)) {
            // 使用 for...of 替代 forEach,以便支持 await
            for (const item of res.data.data.list) {
                await cancleflow(item.mid); // 等待每个 cancleflow 完成
            }
            if(res.data.data.list.length>0){
                await getlist();
            }
        } else {
            console.log("list is not an array or is undefined/null");
        }
    } catch (error) {
        console.error("Error fetching list:", error);
    }
}

async function cancleflow(id) {
    const url = 'https://api.bilibili.com/x/relation/modify?statistics=%257B%2522appId%2522%253A100%252C%2522platform%2522%253A5%257D&x-bili-device-req-json=%7B%22platform%22:%22web%22,%22device%22:%22pc%22,%22spmid%22:%22333.1387%22%7D';
    
    // 使用 URLSearchParams 或对象格式
    const data = new URLSearchParams({
        fid: id,
        act: 2,
        re_src: 11,
        gaia_source: 'web_main',
        spmid: '333.1387',
        extend_content: '{"entity":"user","entity_id":1868395426}',
        is_from_frontend_component: true,
        csrf: 'cc752ca9ade100146a54acc527feb5cd'
    });

    const headers = {
        'Cookie': '' // 替换为有效的 Cookie
    };

    try {
        const res = await axios.post(url, data, { headers });
        console.log(res.data);
    } catch (error) {
        console.error("Error in cancleflow:", error.response ? error.response.data : error.message);
    }
}

async function main() {
    await getlist(); // 等待 getlist 完成
    console.log("All operations completed.");
}

main();
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享