本文概述
- 这种方法的优点
- 局限性
- 取消关注脚本
- 如何使用它
前几天, 试图在朋友的帐户上撤消此类操作的决定决定在JS中编写一个简单的bot脚本, 该脚本自动单击该帐户遵循的用户的取消关注按钮, 但是当我发现Instagram发出请求时, 并不感到惊讶每个” 取消关注” 操作之间的限制。即使使用移动设备并手动执行操作, 你也无法每小时取消关注60个以上的用户(尝试这样做将导致403响应以取消关注):
注意 即使使用脚本, 总有一天你会在控制台中看到此错误。你将需要等待10至15分钟(或更少), 然后才能再次运行脚本。
文章图片
这就是为什么需要修改脚本以便每分钟取消关注用户的原因, 所以它不会被阻止(有时也会被阻止, 你需要等待10分钟才能再次运行脚本), 我想与他人分享你这个简单的脚本。
这种方法的优点
- 你可以在后台运行脚本, 并让其在办公室运行一整天, 而不必手动取消关注每个用户。
- 计算机为你取消关注, 你只需要在浏览器中注入脚本即可。
- Instagram拥有一种针对” 机器人” 和其他自动化脚本的已知保护算法, 例如我们正在编写的脚本(即使是人类, 如果你尝试立即从应用程序或桌面上手动取消超过15位用户的关注, Instagram也会施加限制) )。要跳过脚本并防止出现任何错误, 逻辑是每60秒单击每个” 取消关注” 按钮。这将允许你取消关注对话框可以列出的许多用户。
- 这是非常耗时的, 因为你要为每个要取消关注的用户花费一分钟。
var jqueryScript = document.createElement('script');
jqueryScript.src = "http://www.srcmini.com//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 buttonlet unfollowButtons = $(selector);
// Total of buttons foundlet totalUnfollowButtons = unfollowButtons.length;
if(!totalUnfollowButtons){alert("Error: no Following buttons found, maybe change the text of the button?");
}// Iterate on every buttonunfollowButtons.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 whenyou click// on unfollow, so simply click the confirmation button as well to unfollow the usersetTimeout(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键以执行代码, 然后取消跟踪过程将开始:
文章图片
该脚本会在控制台中自动显示进度, 并说出进程何时完成或是否有任何错误(请阅读初始警告)。
开心的跟随!
推荐阅读
- 如何判断你的代码更改是否有效
- 制作还是嵌入(确定如何在你的应用程序中构建分析)
- 如何在JavaScript中删除画布周围的透明像素
- 使用onlinetuner.co在JavaScript中实现Live Guitar Tuner
- 如何检查reCAPTCHA框是否已过期
- 使用VexFlow 2在JavaScript中渲染音乐符号(乐谱)
- 如何在JavaScript中从字符串名称执行函数(按名称执行函数)
- Java读取txt文件,并且对其文件内容进行统计排序
- Opencv图像读取,显示,保存,类型转换