JavaScript:
Análisis de HTML

Cómo hacerlo:

Vamos a analizar HTML usando la API DOMParser en JavaScript.

const parser = new DOMParser();
const htmlString = `<p>Hola, mundo!</p>`;
const doc = parser.parseFromString(htmlString, 'text/html');
console.log(doc.body.textContent); // Salida: Hola, mundo!

Ahora, vamos a capturar algo más específico, como un elemento con una clase:

const htmlString = `<div><p class="saludo">¡Hola, de nuevo!</p></div>`;
const doc = parser.parseFromString(htmlString, 'text/html');
const saludo = doc.querySelector('.saludo').textContent;
console.log(saludo); // Salida: ¡Hola, de nuevo!

Estudio Profundo

Analizar HTML es tan antiguo como la web. Inicialmente, era cosa de los navegadores: los navegadores analizaban HTML para mostrar páginas web. Con el tiempo, los programadores querían aprovechar este proceso, lo que llevó a APIs como DOMParser.

¿Alternativas? Claro. Tenemos bibliotecas como jQuery y herramientas como BeautifulSoup para Python. Pero el DOMParser nativo de JavaScript es rápido y está integrado, no necesita bibliotecas adicionales.

En términos de implementación, cuando analizas HTML con DOMParser, crea un objeto Document. Piénsalo como un modelo jerárquico de tu HTML. Una vez que lo tienes, puedes navegar y manipularlo tal como lo harías con el DOM de una página web normal.

Aquí está la cosa: el análisis puede tropezar con HTML mal formado. Los navegadores son tolerantes, pero DOMParser podría no serlo. Por lo tanto, para tareas complejas o HTML desordenado, las bibliotecas de terceros podrían hacer un mejor trabajo de limpieza.

Ver También

  • Documentos web de MDN sobre la API DOMParser: MDN DOMParser
  • Capacidades de análisis de jQuery: jQuery.parseHTML()
  • Cheerio, una implementación rápida, flexible y ligera del núcleo de jQuery para el servidor: Cheerio.js
  • Para análisis no-JS: la biblioteca BeautifulSoup de Python: Beautiful Soup