En este post encontrarás scripts hechos en vainilla javascript para seguir cuentas, para dejar de seguir cuentas indistintamente, dar likes por hashtag, así como la instalación del bot instauto
El proceso se explica completamente en el vídeo a continuación:
¿Qué es instauto?
instauto es una biblioteca de automatización / bot para Instagram, escrita en JavaScript moderno y limpio usando Puppeteer de Google.
Puppeteer es una librería de Node.js que proporciona una API de alto nivel que permite automatizar acciones sobre los navegadores de Google: tanto Chrome como su versión de código abierto Chromium.
El objetivo de instauto es ser muy fácil de configurar, usar y extender. instauto respeta los límites de Instagram. Está inspirado en InstaPy, Instabot pero más liviano y sencillo de configurar.
De Instapy a Instabot y de Instabot a instauto
Si sigues mis post, o mi canal de Youtube habrás visto que le he dedicado un gran número de publicaciones a automatizar procesos en Instagram.
Primero con Instapy y después de una gran cantidad de fallos, Instabot. Incluso implemente un post donde explicaba los comandos para implementar una plantilla personalizada de Instabot
La gran cantidad de personas indicando fallos, me llevó a re confirmar el funcionamiento de mi bot y lamentablemente Instagram implementó una nueva validación que rompe el proceso.
Por esto decidí primero montar unas plantillas en javascript vanilla para inyectar en la consola del navegador.
Actualmente me funciona la opción de seguir automáticamente los seguidores y a quienes sigue una cuenta en específico. El script de dejar de seguir a todos tus seguidores sin distinción y el de darle likes a los post relacionados con un hashtag específico, ubicación o publicaciones de una cuenta.
Estos script los comparto a continuación:
Script para seguir automáticamente los seguidores y a quienes sigue una cuenta en específico
const timeoutPromise = (timeout) => new Promise((resolve) => setTimeout(resolve, timeout));
const list = document.querySelectorAll('.y3zKF');
function clikOnLink(link){
link.click();
}
const asyncLoop = async () => {
for (let i = 0; i < list.length ; i++) {
await timeoutPromise(18000);
clikOnLink(list[i]);
}
}
asyncLoop();
Script para dejar de seguir a todos tus seguidores sin distinción
Puedes pararlo en cualquier momento con solo actualizar el navegador, podrías, primero seguir masivamente y después dejar de seguir un buen número de cuentas, ya va en la administración que decidas llevar, claro está teniendo en cuenta las condiciones de uso de Instagram para no infringir sus reglas.
// CÓMO EJECUTARLO EN GOOGLE CHROME
// 1. INSTAGRAMA ABIERTO
// 2. LISTA ABIERTA DE SEGUIDORES
// 3. HERRAMIENTAS DE DESARROLLADOR ABIERTAS
// 4. COPIE TODO AQUÍ CTRL + A
// 5. PEGAR TODO EN HERRAMIENTAS PARA DESARROLLADORES CONSOLA
// 6. HAGA CLIC ENTRAR
// NO TENDRÁS PRONTO AMIGOS
const FOLLOWING_BUTTON_TEXT = 'Siguiendo' // CAMBIAR ESTO A SU IDIOMA
const UNFOLLOW_BUTTON_TEXT = 'Dejar de seguir' // Este también
const MAX_ATTEMPTS_PER_UNFOLLOW = 3 // Si estás desde el PC estás bien
const unfollowSomebody = () => {
const followingButton = document
.evaluate(`//button[text()="${FOLLOWING_BUTTON_TEXT}"]`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null)
.singleNodeValue
if (followingButton) {
console.log('Encontrado el siguiente botón. Haciendo clic ...')
followingButton.click()
console.log('Haga clic en el siguiente botón.')
let unfollowButton = document.evaluate(`//button[text()="${UNFOLLOW_BUTTON_TEXT}"]`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
let attempts = 1
while (attempts < MAX_ATTEMPTS_PER_UNFOLLOW && !unfollowButton) {
console.log(`Se Intentó encontrar Botón de dejar de seguir pero no se pudo. Número de reintento #${attempts++}`)
unfollowButton = document.evaluate(`//button[text()="${UNFOLLOW_BUTTON_TEXT}"]`, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
}
if (attempts < MAX_ATTEMPTS_PER_UNFOLLOW) {
console.log('Botón de dejar de seguir encontrado. Haciendo scrolling y dejando de seguir ...')
unfollowButton.scrollIntoView(true)
unfollowButton.click()
} else {
console.log(`Se ha intentado ${MAX_ATTEMPTS_PER_UNFOLLOW} veces y no tuvo éxito`)
}
return false
}
return true
}
const timeout = (ms) => new Promise(resolve => setTimeout(resolve, ms))
const randomTimeout = () => (Math.floor((Math.random() * 30) + 30) * 300) + 300
const unfollowEveryone = async () => {
let shouldStop = false
while (!shouldStop) {
shouldStop = unfollowSomebody()
const unfollowTimeout = randomTimeout()
console.log(`Esperando ${unfollowTimeout} segundo. podría parar: ${shouldStop}.`)
await timeout(unfollowTimeout)
}
console.log('No sigues a nadie.')
}
unfollowEveryone()
Script de likes a los post relacionados con un hashtag específico, ubicación o publicaciones de una cuenta
const next = document.querySelector('a.coreSpriteRightPaginationArrow');
function doSomething(random) {
const like = document.querySelector('article > div.eo2As > section.ltpMr.Slqrh > span.fr66n > button');
if(like){
console.log('click\n');
like.click();
}
next.click();
console.log('Esperando '+random+' miliseconds\n');
}
(function loop() {
var min = 15000; // mínimo de 15 segundos
var max = 25000; // máximo de 25 segundos
var random = Math.floor(Math.random() * (+max - +min)) + +min;
setTimeout(function() {
doSomething(random);
loop();
}, random);
}());
var firstLike = document.querySelector('button > svg[aria-label="Like"]');
var closestElement = firstLike.closest('button');
closestElement.click();
Instalación del bot instauto para Instagram
Descarga del repositorio instauto
Para realizar la instalación de instauto, primero debes descargar el proyecto del repositorio a continuación, te recomiendo instalar git previamente.
Si realizaste la descarga he instalación de git, para descargar el proyecto de instauto en tu ordenador solo es que ejecutes desde consola el siguiente comando:
git clone https://github.com/mifi/instauto.git
Instalación de Node JS
¿Qué es Node JS?
Es un entorno de tiempo de ejecución para JavaScript que incluye todo lo que se necesita para ejecutar un programa escrito escrito en este lenguaje.
En palabras más sencillas genera un servidor que permite la ejecución de Javascript en el backend.
Para realizar el proceso de instalación de Node JS solo es necesario acceder al siguiente enlace
https://nodejs.org/es/download/
Realizar la instalación con los parámetros por defecto, según el sistema operativo y arquitectura de tu ordenador.
Personalizar la plantilla example.js
Básicamente, debes cambiar tus credenciales en el documento del repositorio que previamente en esta instancia debiste haber descargado
Específicamente debes poner tus credenciales de Instagram en el siguiente tramo de código y después guardar los cambios.
username: 'your-ig-username',
password: 'your-ig-password',
Instalación de Yarn
Es un instalador de paquetes para JavaScript, muy similar a PIP en el lenguaje de Python, es necesario para los demás procesos de instalación desde la línea de comandos.
El siguiente es el comando para realizar el proceso.
npm i -g yarn
Instalación de Puppeteer
Esta librería permite moverse con gran dominio sobre el navegador de Chrome y Chromium, donde se abrirá tu Instagram y hará la magia.
El comando es el siguiente
yarn add puppeteer instauto
Ejecución del bot instauto para Instagram
Ya para este punto solo queda ejecutar el siguiente comando si has realizado todos los procesos como se ha explicado.
node example
Siempre puedes donar
Este bot y los scripts son información privilegiada y exclusiva, no son copia ni tampoco están basados en ningún otro tutorial y son el resultado de horas de investigación entregadas de manera específica y desinteresada para el bien común. Si puedes hacerlo, te agradeceré mucho tu donación, el botón Paypal a continuación está configurado para un importe de 5 USD.
Espero te haya servido, saludos !!!