Extrae y Organiza Enlaces Externos

¿Qué hace este script?

Este script de JavaScript está diseñado para identificar y organizar todos los enlaces externos presentes en una página web. En otras palabras, busca todos los enlaces que apuntan a dominios diferentes al actual y los presenta de manera clara y concisa en la consola del navegador.

Pasos clave que realiza el script:

  1. Obtiene todos los enlaces: Utiliza document.querySelectorAll('a[href]') para seleccionar todos los elementos <a> que tienen un atributo href (es decir, todos los enlaces).
  2. Crea un array de objetos: Convierte la NodeList obtenida en un array de objetos, donde cada objeto representa un enlace y contiene las propiedades href (la URL completa) y text (el texto visible del enlace).
  3. Filtra enlaces externos: Elimina los enlaces que apuntan al mismo dominio utilizando URL y comparando los hostnames.
  4. Elimina duplicados: Emplea Set para eliminar enlaces duplicados y luego los ordena alfabéticamente.
  5. Crea una lista formateada: Genera una lista formateada Markdown con cada enlace y su texto, ideal para copiar y pegar en otras aplicaciones.
  6. Muestra la lista en la consola: Imprime la lista final en la consola del navegador para una fácil revisión.

¿Para qué sirve?

Este script puede ser útil en diversas situaciones:

  • Análisis de enlaces: Identificar rápidamente a qué sitios externos enlaza una página.
  • Investigación: Extraer una lista de recursos externos para un análisis más profundo.
  • Desarrollo web: Crear un inventario de enlaces externos para realizar cambios o migraciones.
  • SEO: Analizar la distribución de enlaces salientes de una página.
  • Scraping: Como punto de partida para extraer datos de otras páginas web.

Ejemplo de uso

Imagina que quieres analizar los enlaces externos de un artículo de blog. Simplemente abre la consola del navegador, pega el script y ejecútalo. Obtendrás una lista clara y concisa de todos los enlaces externos presentes en la página, junto con su texto.

Código completo y explicado

JavaScript

// Obtener todos los enlaces en la página principal
const links = Array.from(document.querySelectorAll('a[href]'))
  .map(link => {
    return {
      href: link.href,
      text: link.innerText.trim()
    };
  })
  .filter(link => {
    try {
      const url = new URL(link.href);
      return url.hostname !== window.location.hostname;
    } catch (error) {
      console.error('Error al analizar el enlace:', link.href, error);
      return false;
    }
  });

// Filtrar enlaces únicos y ordenar alfabéticamente
const uniqueLinks = Array.from(new Set(links.map(link => link.href))).sort();

// Crear una lista de enlaces con títulos
const linkListWithTitle = uniqueLinks.reduce((list, href) => {
  const link = links.find(link => link.href === href);
  return list + `- [${link.text}](${link.href})\\n`;
}, 'Enlaces encontrados fuera del sitio:\n');

// Mostrar en consola
console.log(linkListWithTitle);

Explicación por partes:

  • Array.from() convierte la NodeList en un array para poder utilizar métodos como map y filter.
  • map() crea un nuevo array donde cada elemento es un objeto con las propiedades href y text.
  • filter() elimina los enlaces que no son externos.
  • Set() elimina duplicados y sort() ordena alfabéticamente.
  • reduce() crea la lista formateada Markdown.

Personalizaciones

podés personalizar este script para:

  • Filtrar por tipo de enlace: Agregar condiciones adicionales en el filter() para buscar enlaces específicos (por ejemplo, imágenes, PDFs).
  • Guardar los resultados: En lugar de mostrar en la consola, podés guardar los resultados en un archivo o enviarlos a una API.
  • Analizar múltiples páginas: Crear una función que tome una URL como entrada y repita el proceso para esa página.

¡Y eso es todo! Con este script,vas a tener una herramienta poderosa para analizar y organizar los enlaces externos de cualquier página web.

No guardes tu dinero

Te voy a contar secretos no tan secretos sobre activos escasos y valiosos, y por qué son considerados una inversión mucho más interesante que tener la guita guardada debajo del colchón.

Compra una casa y que te la financie el dueño.

El financiamiento del vendedor es cuando el comprador le paga directamente al dueño de la propiedad en vez de pedirle plata a un banco. Puede parecer una solución cuando no te dan un préstamo tradicional, pero no es un cuento de hadas: hay riesgos grandes para las dos partes. Acá va una explicación clara de cómo funciona, sus ventajas y sus problemas.

¿Porque te gusta comer Zombies?

¿Cuanto pensaste sobre los aditivios de los alimentos?, ¿Nunca no?.

Pensás que los conservante son una buena idea, porque crees que si el pan te dura varias semanas es buenísimo

Imaginate esas peliculas apocalipticas, llenas de zombies, donde estos tipos te muerden a vos o a un animal y se convierten en zombies. ¿Te comerias una vaca zombie? no creo, bueno, comerte algo con conservantes sería lo mismo. ¿¡Porque comes zombies!?

Siempre creíste y crees que los aditivos son inofensivos, y la realidad es que tienen niveles de toxicidad, y el nivel bajo no es ninguno, es nivel bajo. Pero bueno te voy a contar sobre los que mas a menudo te vas a cruzar y que son los menos toxicos.

El misterio de los números 3, 6 y 9 según Nikola Tesla

Para Tesla, los números 3, 6 y 9 no eran simples cifras. Eran claves. Decía que escondían un poder que podía explicar todo, desde los átomos hasta el movimiento de los planetas. Creía que si entendías estos números, podías entender el universo.

Publicidad: porque el amor no paga el wifi