当前位置: 首页 > article >正文

自动化抖音点赞取消脚本批量处理

🌟 前言

欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍

  • 🤖 洛可可白:个人主页

  • 🔥 个人专栏:✅前端技术 ✅后端技术

  • 🏠 个人博客:洛可可白博客

  • 🐱 代码获取:bestwishes0203

  • 📷 封面壁纸:洛可可白wallpaper

Alt

自动化抖音点赞取消脚本批量处理

    • 脚本功能
    • 技术实现
    • 脚本代码
    • 使用方法
    • 注意事项

脚本功能

这个脚本通过定期发送请求到抖音的服务器,获取用户点赞的视频列表,并批量发送取消点赞的请求。它还提供了一个消息框,实时显示取消点赞的进度和总数。

技术实现

脚本主要使用了JavaScript的fetch API来与抖音的服务器进行交互,同时利用了localStorage来存储和获取密钥。通过Promise.all实现了并发请求,提高了取消点赞的效率。此外,使用setInterval函数每隔4秒自动执行一次取消点赞的操作。

脚本代码

// 从localStorage中获取密钥,并去除前缀'pub.'(如果存在)
let key = JSON.parse(localStorage.getItem('security-sdk/s_sdk_cert_key')).data.replace(/^pub\./, '');
let max_cursorTemp = 0; // 用于存储最大的游标值
let messageBox = undefined; // 用于存储消息框的DOM元素

var count = 0; // 用于统计总共取消了多少个点赞

// 异步函数,用于获取点赞列表并批量取消点赞
async function fetchAndCancelLikes(maxCursor = max_cursorTemp) {
    try {
        // 发送GET请求到抖音的接口,获取点赞列表
        const response = await fetch(`https://www.douyin.com/aweme/v1/web/aweme/favorite?aid=6383&count=999&max_cursor=${max_cursorTemp}`,  {
            "referrerPolicy": "strict-origin-when-cross-origin",
            "body": null,
            "method": "GET",
            "mode": "cors",
            "credentials": "include"
        });
        const { aweme_list, max_cursor } = await response.json();
        max_cursorTemp = max_cursor; // 更新最大游标值

        // 如果响应中包含aweme_list,则提取出所有的aweme_id
        if (aweme_list != null) {
            const idsToCancel = aweme_list.map(({ aweme_id }) => aweme_id);
            let currCount = 0;
            // 使用Promise.all并发取消所有的点赞
            await Promise.all(idsToCancel.map(id => {
                cancelLike(id, key);
                currCount++;
                count++;
            })).then(()=>{
                // 取消点赞后,更新消息框
                if(messageBox!=undefined){
                    document.body.removeChild(messageBox);
                }
                messageBox = showMessageBox(`本次执行取消${currCount}个点赞,共取消${count}个点赞,四秒后继续执行,如果不需要执行直接关闭浏览器,当前时间${new Date()}`);
            });
        }

    } catch (error) {
        // 如果请求失败,捕获错误并打印到控制台
        console.error('Error fetching and canceling likes:', error);
    }
}

// 异步函数,用于取消单个点赞
async function cancelLike(id, key) {
    try {
        // 发送POST请求到抖音的接口,用于取消点赞
        await fetch("https://www.douyin.com/aweme/v1/web/commit/item/digg/?aid=6383",  {
            "headers": {
                "accept": "application/json, text/plain, */*",
                "accept-language": "zh-CN,zh;q=0.9",
                "bd-ticket-guard-ree-public-key": key,
                "content-type": "application/x-www-form-urlencoded; charset=UTF-8"
            },
            "referrer": "https://www.douyin.com/user/self?modal_id=7308336895358930212",
            "referrerPolicy": "strict-origin-when-cross-origin",
            "body": `aweme_id=${id}&item_type=0&type=0`,
            "method": "POST",
            "mode": "cors",
            "credentials": "include"
        });
    } catch (error) {
        // 如果取消点赞失败,捕获错误(但不做处理)
    }
}

// 设置定时器,每隔4秒执行一次fetchAndCancelLikes函数
setInterval(fetchAndCancelLikes, 4000);

// 函数,用于创建和显示一个消息框
function showMessageBox(mess) {
    // 创建消息框DOM元素,并设置样式和文本内容
    var messageBox = document.createElement('div');
    messageBox.id = 'autoMessageBox';
    messageBox.style.position = 'fixed';
    messageBox.style.top = '50%';
    messageBox.style.left = '50%';
    messageBox.style.transform = 'translate(-50%, -50%)';
    messageBox.style.padding = '20px';
    messageBox.style.backgroundColor = '#3498db';
    messageBox.style.color = 'white';
    messageBox.style.borderRadius = '5px';
    messageBox.style.zIndex = '1000';
    messageBox.style.display = 'block';
    messageBox.textContent = mess;
    document.body.appendChild(messageBox);
    return messageBox;
}

使用方法

要使用这个脚本,只需将其添加到你的浏览器控制台中即可。脚本会自动开始工作,并在页面上显示一个消息框,告诉你已经取消的点赞数量和进度。如果不再需要执行,只需关闭浏览器或移除脚本即可。

注意事项

虽然这个脚本可以自动化取消点赞的操作,但请注意,频繁的请求可能会对抖音服务器造成不必要的负担。因此,在使用时请合理安排时间间隔,避免过度请求。

此外,需要强调的是,这个脚本仅供学习和研究使用,不得用于任何商业或非法目的。在使用过程中,请遵守抖音的使用条款和相关法律法规。


免责声明: 本脚本仅供学习和研究目的,作者不承担因使用此脚本而产生的任何责任。请确保你的行为符合相关法律法规和平台政策。

如果对你有帮助,点赞👍、收藏💖、关注🔔是我更新的动力!👋🌟🚀


http://www.kler.cn/news/362702.html

相关文章:

  • IndexedDB基本使用
  • Matlab学习01-矩阵
  • Docker 安装Postgres和PostGIS,并制作镜像
  • js实现数组中数据有则删除无则添加-[‘12123‘,‘432233‘...]
  • 吃透高并发模型与RPC框架,拿下大厂offer!!!
  • 【深度学习中的注意力机制6】11种主流注意力机制112个创新研究paper+代码——加性注意力(Additive Attention)
  • 记一次真实项目的性能问题诊断、优化(阿里云redis分片带宽限制问题)过程
  • 富格林:严防欺诈漏洞安全交易
  • JVM(HotSpot):GC之垃圾回收器的分类
  • 2024年9月青少年软件编程(C语言/C++)等级考试试卷(三级)
  • 047_python基于Hadoop的租房数据分析系统的设计与实现
  • WRB Hidden Gap,WRB隐藏缺口,MetaTrader 免费公式!(指标教程)
  • 【数据结构】二叉树遍历(前序/中序/后序/层序-递归与非递归)
  • 开源呼叫中心系统与商业软件的对比
  • Vue 3 中实现自定义 404 页面的三种方法
  • Tips--解决更新resource.qrc之后新的资源无法加载的问题
  • C#,自动驾驶技术,ASAM OpenDRIVE BS 1.8.0 规范摘要与C# .NET Parser
  • HTML、CSS 和 JavaScript 的介绍
  • 无人机封闭空间建图检测系统技术详解
  • Ubuntu 安装Mysql+Redis+Nginx
  • 基于PaddleSpeech实现语音识别
  • 【贪心算法】刷刷刷刷刷刷题(下)
  • APP UI自动化测试的思路总结!
  • 一站式协作平台Jira新功能解读:AI驱动、个性化设置、灵活自定义等,助力项目管理更高效
  • 小鹏汽车股价分析:看涨信号已出现,技术指标显示还有40%的上涨空间
  • 【Python爬虫实战】多进程结合 BeautifulSoup 与 Scrapy 构建爬虫项目