个性化阅读
专注于IT技术分析

如何使用浏览器中的JavaScript小技巧在Instagram上取消关注用户

本文概述

尽管由于通常我们的文章都是技术性的, 所以本文违反了我们的代码世界的标准, 但它似乎是学习如何编写非常简单的自动化脚本的一个很好的例子。许多用户使用Follow x跟随来获得很多关注者, 但是, 当你将帐户授予”社交网络经理”, 而最终执行上述的Follow x跟随时, 由于明显的原因, 许多用户会感到愤怒。

前几天, 试图在朋友的帐户上撤消此类操作的决定决定在JS中编写一个简单的bot脚本, 该脚本自动单击该帐户遵循的用户的取消关注按钮, 但是当我发现Instagram发出请求时, 并不感到惊讶每个”取消关注”操作之间的限制。即使使用移动设备并手动执行操作, 你也无法每小时取消关注60个以上的用户(尝试这样做将导致403响应以取消关注):

注意

即使使用脚本, 总有一天你会在控制台中看到此错误。你将需要等待10至15分钟(或更少), 然后才能再次运行脚本。

Instagram取消关注403错误

这就是为什么需要修改脚本以便每分钟取消关注用户的原因, 所以它不会被阻止(有时也会被阻止, 你需要等待10分钟才能再次运行脚本), 我想与他人分享你这个简单的脚本。

这种方法的优点

  • 你可以在后台运行脚本, 并让其在办公室运行一整天, 而不必手动取消关注每个用户。
  • 计算机为你取消关注, 你只需要在浏览器中注入脚本即可。

局限性

  • Instagram拥有一种针对”机器人”和其他自动化脚本的已知保护算法, 例如我们正在编写的脚本(即使是人类, 如果你尝试立即从应用程序或桌面上手动取消超过15位用户的关注, Instagram也会施加限制) )。要跳过脚本并防止出现任何错误, 逻辑是每60秒单击每个”取消关注”按钮。这将允许你取消关注对话框可以列出的许多用户。
  • 这是非常耗时的, 因为你要为每个要取消关注的用户花费一分钟。

取消关注脚本

以下脚本是完成此操作的脚本, 其工作原理如下:

var jqueryScript = document.createElement('script');
jqueryScript.src = "//code.jquery.com/jquery-3.3.1.min.js";
jqueryScript.onload = function(){
    
    // Important: change those text according to the text of the following button in your language
    // e.g in Spanish it would be "Seguido"
    let unfollowButtonText = "Following";
    // Recently, a new confirmation dialog appears asking if you really want to unfollow the user
    // change this text as well
    // e.g in Spanish it would be "Dejar de seguir"
    let unfollowConfirmationText = "Unfollow";

    // Prepare jQuery Selector for buttons that contain "Following"
    let selector = `button:contains('${unfollowButtonText}')`;

    // You need to wait 60 seconds after every unfollow, otherwise you will
    // be blocked temporary by the Instagram API and you'll see a 403 error in the network !
    let currentTime = 0;
    let step = 60 * 1000;

    // Query the button
    let unfollowButtons = $(selector);
    // Total of buttons found
    let totalUnfollowButtons = unfollowButtons.length;

    if(!totalUnfollowButtons){
        alert("Error: no Following buttons found, maybe change the text of the button?");
    }

    // Iterate on every button
    unfollowButtons.each(function(index){
        let button = $(this);

        setTimeout(function(){
            (function(i){
                console.log(`Unfollowing ${i} of ${totalUnfollowButtons}`);

                if(i == totalUnfollowButtons){
                    console.log("Script finished succesfully !");
                }

                button.trigger("click");

                // Important: recently, a confirmation dialog was added when  you click
                // on unfollow, so simply click the confirmation button as well to unfollow the user
                setTimeout(function(){
                    var btn = $(`button:contains('${unfollowConfirmationText}')`);

                    if(btn){
                        btn.trigger("click");
                    }
                }, 100);
            })(index + 1);
        }, currentTime);

        currentTime += step;
    });
};

// Inject Script !
document.getElementsByTagName('head')[0].appendChild(jqueryScript);

如何使用它

只需将其粘贴到浏览器的JS控制台中, 就可以在几秒钟内完成上一个脚本的执行。如果你不是开发人员, 我们将指导你完成以下过程:

1.使用Google Chrome在桌面/笔记本电脑中打开Instagram

第一步, 你需要在台式机的官方网站上打开instagram帐户, 你可以在其中打开台式机版的Chrome。登录后, 继续下一步。

2.打开浏览器Devtools

打开Goog​​le Chrome, 然后按CTRL + Shift + I或在Instagram网页上单击鼠标右键, 然后从上下文菜单中选择”检查元素选项”以打开开发工具, 以打开开发人员工具。出现后, 转到”控制台”选项卡。让此窗口打开, 因为我们将在步骤4中将脚本注入此处。

3.打开关注列表对话框

如前所述, 脚本的逻辑是脚本将自动在你关注的用户列表上单击用户的每个”取消关注”按钮。此列表是一个对话框, 只需单击个人资料的” xx以下”按钮即可显示该对话框:

跟随列表对话框按钮

这应该会打开一个你当前正在关注的用户的对话框:

打开关注列表对话框

现在你有了要关注的用户对话框, 你需要滚动并显示要在脚本执行期间取消关注的所有用户。所有带有”跟随”的按钮都将被单击, 因此该对话框需要始终打开(最近在Instagram中添加了一个新的确认对话框, 因此脚本也将单击该按钮)。接下来, 你只需要注入脚本。

4.注入脚本

将代码复制到文章开头, 然后将其粘贴到控制台中, 然后按Enter键以执行代码, 然后取消跟踪过程将开始:

取消关注大量Instagram

该脚本会在控制台中自动显示进度, 并说出进程何时完成或是否有任何错误(请阅读初始警告)。

开心的跟随!

赞(0)
未经允许不得转载:srcmini » 如何使用浏览器中的JavaScript小技巧在Instagram上取消关注用户

评论 抢沙发

评论前必须登录!