Script para obtener los seguidos que no te siguen. Código a ejecutar en la consola de desarrolladores. Procedimiento Paso a Paso: 1. Abre tu navegador y ve directamente a la pestaña de Seguidores en Facebook. 2. Abre la consola de comandos de tu navegador (presiona la tecla F12, o haz clic derecho en cualquier parte vacía y elige Inspeccionar. Luego ve a la pestaña que dice Consola o Console). 3. Borra todo lo que haya ahí dentro de la consola presionando las teclas Ctrl + L. Si no responde y no se borra, selecciona todo el contenido de la consola y pulsa Supr. 4. Copia el código completo que te damos abajo, pégalo en la consola y presiona Enter. 5. Si te sale una advertencia, no le hagas caso, es para evitar código malicioso o ilegal. Escribe debajo lo que te dice: algo así como "permitir código" o "permitir pegar" (puede estar en inglés) 6. Si te apareció la anterior advertencia, vuelve a intentar pegar el código de abajo y presiona Enter. Espera hasta el final, que recorra los seguidores y seguidos. Ten paciencia porque tarda un poco, sobre todo si tienes muchos seguidores y seguidos. 7. Cuando acabe, te dará un "bloc de notas descargado". Ve a tu carpeta de descargas y ahí estará el archivo txt con los seguidos que no te siguen. Antes de borrarlos, comprueba que no están en seguidores. Código a copiar y pegar: (async () => { // Función para escanear los nombres reales que se ven en pantalla async function escanearSeccionVisual(nombreSeccion) { console.log(`⏳ Iniciando escaneo visual de ${nombreSeccion}...`); let nombresCapturados = new Set(); let ultimoAlto = 0; let intentosSinCambio = 0; while (intentosSinCambio < 6) { // Buscamos el contenedor principal de la lista para ignorar cabeceras, barras laterales y notificaciones const contenedorPrincipal = document.querySelector('div[role="main"]') || document.body; // Buscamos las tarjetas de perfil únicamente dentro de ese contenedor principal const elementos = contenedorPrincipal.querySelectorAll('a[role="link"], div[role="article"] a, data-visualcompletion a'); elementos.forEach(el => { let nombre = el.textContent ? el.textContent.trim() : ""; // Filtramos textos basura de la interfaz e insignias de Facebook if (nombre && nombre.length > 2 && !nombre.includes('\n') && !/^\d+$/.test(nombre) && ![ "mensaje", "eliminar", "responder", "seguir", "seguidores", "seguidos", "amigos", "ver más", "perfil", "notificaciones", "inicio", "fan destacado", "comentarista valioso", "perfil verificado", "cuenta verificada", "colaborador destacado", "colaborador estrella", "colaborador emergente" ].includes(nombre.toLowerCase())) { // Doble seguridad: Evitamos enlaces que pertenezcan a la barra de navegación superior o menús flotantes if (!el.closest('div[role="navigation"]') && !el.closest('div[role="banner"]') && !el.closest('[aria-label*="Notificaciones"]')) { nombresCapturados.add(nombre); } } }); console.log(`📸 [${nombreSeccion}] Llevamos ${nombresCapturados.size} nombres capturados...`); // Desplazar hacia abajo window.scrollTo(0, document.body.scrollHeight); await new Promise(resolve => setTimeout(resolve, 2500)); // Damos 2.5 segundos para que carguen los nuevos perfiles let nuevoAlto = document.body.scrollHeight; if (nuevoAlto === ultimoAlto) { intentosSinCambio++; } else { intentosSinCambio = 0; ultimoAlto = nuevoAlto; } } console.log(`✅ Fin de ${nombreSeccion}. Total reales: ${nombresCapturados.size}`); return Array.from(nombresCapturados); } // === PASO 1: SEGUIDORES === if (!window.location.href.includes('followers') && !window.location.href.includes('seguidores')) { console.error("❌ ERROR: Tienes que iniciar el script dentro de la pestaña 'Seguidores'."); return; } const listaSeguidores = await escanearSeccionVisual("SEGUIDORES"); // === PASO 2: CAMBIO DE PESTAÑA === console.log("🔄 Saltando a la pestaña de Seguidos..."); const enlaces = Array.from(document.querySelectorAll('a')); const enlaceSeguidos = enlaces.find(el => el.href.includes('following') || el.textContent.toLowerCase().includes('seguidos')); if (enlaceSeguidos) { enlaceSeguidos.click(); } else { console.log("⚠️ Por favor, haz clic tú mismo en la pestaña 'Seguidos' para que el script continúe."); } // Esperar a estar en la página correcta while (!window.location.href.includes('following') && !window.location.href.includes('seguidos')) { await new Promise(resolve => setTimeout(resolve, 1000)); } await new Promise(resolve => setTimeout(resolve, 4000)); // Pausa para que cargue la lista visual inicial // === PASO 3: SEGUIDOS === const listaSeguidos = await escanearSeccionVisual("SEGUIDOS"); // === PASO 4: COMPARACIÓN Y ENTREGA === console.log("🔍 Cruzando datos..."); const seguidoresSet = new Set(listaSeguidores); const noTeSiguen = listaSeguidos.filter(persona => !seguidoresSet.has(persona)); console.clear(); console.log("=================================================="); console.log(`📊 INFORME FINAL (MÉTODO VISUAL AUTOMÁTICO):`); console.log(`- Seguidores detectados: ${listaSeguidores.length}`); console.log(`- Seguidos detectados: ${listaSeguidos.length}`); console.log(`- No te siguen de vuelta: ${noTeSiguen.length}`); console.log("=================================================="); if (noTeSiguen.length > 0) { const blob = new Blob([noTeSiguen.join('\n')], { type: 'text/plain' }); const urlDescarga = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = urlDescarga; a.download = 'no_te_siguen.txt'; document.body.appendChild(a); a.click(); document.body.removeChild(a); console.log("💾 ¡Bloc de notas descargado con los nombres!"); } else { console.log("✨ ¡Todo limpio! Todos tus seguidos te siguen."); } })(); Si se produce un error al pasar de la pestaña de Seguidores a Seguidos, se puede hacer en dos partes: Paso 1: Escanear tus Seguidores Entra manualmente en Facebook en tu pestaña de Seguidores (ej. [facebook.com/tu_usuario/followers](https://facebook.com/tu_usuario/followers)). Abre la consola del navegador, pega este código corto y presiona Enter: (async () => { async function escanear(nombreSeccion) { console.log(`⏳ Escaneando ${nombreSeccion}... Baja manualmente si el script se detiene.`); let nombres = new Set(); let ultimoAlto = 0, intentos = 0; const basura = ["mensaje", "eliminar", "responder", "seguir", "seguidores", "seguidos", "amigos", "ver más", "perfil", "notificaciones", "inicio", "fan destacado", "comentarista valioso", "perfil verificado", "colaborador destacado", "cuenta verificada", "colaborador estrella", "colaborador emergente"]; while (intentos < 6) { const cont = document.querySelector('div[role="main"]') || document.body; cont.querySelectorAll('a[role="link"], div[role="article"] a, data-visualcompletion a').forEach(el => { let n = el.textContent ? el.textContent.trim() : ""; if (n && n.length > 2 && !n.includes('\n') && !/^\d+$/.test(n) && !basura.includes(n.toLowerCase())) { if (!el.closest('div[role="navigation"]') && !el.closest('div[role="banner"]') && !el.closest('[aria-label*="Notificaciones"]')) { nombres.add(n); } } }); console.log(`📸 [${nombreSeccion}] Capturados: ${nombres.size}`); window.scrollTo(0, document.body.scrollHeight); await new Promise(r => setTimeout(r, 2500)); let alto = document.body.scrollHeight; if (alto === ultimoAlto) intentos++; else { intentos = 0; ultimoAlto = alto; } } return Array.from(nombres); } window.misSeguidores = await escanear("SEGUIDORES"); console.clear(); console.log(`✅ PASO 1 COMPLETADO. Se guardaron ${window.misSeguidores.length} seguidores en memoria.`); console.log("➡️ Ahora cambia manualmente a la pestaña 'SEGUIDOS' y ejecuta el código del Paso 2."); })(); Paso 2: Escanear tus Seguidos y descargar el archivo Sin cerrar la pestaña ni recargar la página, haz clic manualmente en la pestaña de Seguidos (ej. [facebook.com/tu_usuario/following](https://facebook.com/tu_usuario/following)). Espera 3 segundos a que carguen las primeras fotos. Pega este segundo código en la consola y presiona Enter: (async () => { if (!window.misSeguidores) { console.error("❌ ERROR: No se encuentran los datos del Paso 1. No recargues la página entre pasos."); return; } async function escanear(nombreSeccion) { let nombres = new Set(); let ultimoAlto = 0, intentos = 0; const basura = ["mensaje", "eliminar", "responder", "seguir", "seguidores", "seguidos", "amigos", "ver más", "perfil", "notificaciones", "inicio", "fan destacado", "comentarista valioso", "perfil verificado", "colaborador destacado", "cuenta verificada", "colaborador estrella", "colaborador emergente"]; while (intentos < 6) { const cont = document.querySelector('div[role="main"]') || document.body; cont.querySelectorAll('a[role="link"], div[role="article"] a, data-visualcompletion a').forEach(el => { let n = el.textContent ? el.textContent.trim() : ""; if (n && n.length > 2 && !n.includes('\n') && !/^\d+$/.test(n) && !basura.includes(n.toLowerCase())) { if (!el.closest('div[role="navigation"]') && !el.closest('div[role="banner"]') && !el.closest('[aria-label*="Notificaciones"]')) { nombres.add(n); } } }); console.log(`📸 [${nombreSeccion}] Capturados: ${nombres.size}`); window.scrollTo(0, document.body.scrollHeight); await new Promise(r => setTimeout(r, 2500)); let alto = document.body.scrollHeight; if (alto === ultimoAlto) intentos++; else { intentos = 0; ultimoAlto = alto; } } return Array.from(nombres); } const listaSeguidos = await escanear("SEGUIDOS"); const seguidoresSet = new Set(window.misSeguidores); const noTeSiguen = listaSeguidos.filter(p => !seguidoresSet.has(p)); console.clear(); console.log("=================================================="); console.log(`📊 INFORME FINAL INTERACTIVO:`); console.log(`- Seguidores (Paso 1): ${window.misSeguidores.length}`); console.log(`- Seguidos (Paso 2): ${listaSeguidos.length}`); console.log(`- No te siguen de vuelta: ${noTeSiguen.length}`); console.log("=================================================="); if (noTeSiguen.length > 0) { const blob = new Blob([noTeSiguen.join('\n')], { type: 'text/plain' }); const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href = url; a.download = 'no_te_siguen_actualizado.txt'; document.body.appendChild(a); a.click(); document.body.removeChild(a); console.log("💾 ¡Archivo descargado con éxito!"); } else { console.log("✨ ¡Todo limpio! Todos te siguen."); } })(); Al encargarte tú de cambiar la pestaña y darle al "Enter" en cada sección, eliminamos la posibilidad de que Facebook confunda al script simulando clics automáticos que a veces abren perfiles de otras personas o recargan la lista equivocada. Los datos del Paso 1 se quedan guardados de forma segura en la memoria temporal de la ventana (window.misSeguidores) esperando a que ejecutes el Paso 2.