JavaScript:
Analisi sintattica HTML

Come fare:

Analizziamo l’HTML utilizzando l’API DOMParser in JavaScript.

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

Ora, prendiamo qualcosa di più specifico, come un elemento con una classe:

const htmlString = `<div><p class="greeting">Ciao, di nuovo!</p></div>`;
const doc = parser.parseFromString(htmlString, 'text/html');
const greeting = doc.querySelector('.greeting').textContent;
console.log(greeting); // Output: Ciao, di nuovo!

Approfondimento

L’analisi dell’HTML è vecchia quanto il web. Inizialmente, era una cosa dei browser: i browser analizzavano l’HTML per visualizzare le pagine web. Col tempo, i programmatori hanno voluto partecipare a questo processo, portando a API come DOMParser.

Alternative? Certamente. Abbiamo librerie come jQuery e strumenti come BeautifulSoup per Python. Ma il DOMParser nativo di JavaScript è veloce e integrato, non c’è bisogno di librerie aggiuntive.

Per quanto riguarda l’implementazione, quando si analizza l’HTML con DOMParser, viene creato un oggetto Document. Pensalo come un modello gerarchico del tuo HTML. Una volta che lo hai, puoi navigarlo e manipolarlo proprio come faresti con il DOM di una normale pagina web.

Ecco il punto: l’analisi può incappare in HTML malformato. I browser sono tolleranti, ma DOMParser potrebbe non esserlo. Quindi, per compiti complessi o HTML disordinato, le librerie di terze parti potrebbero fare un lavoro di pulizia migliore.

Vedi Anche

  • Documentazione MDN sull’API DOMParser: MDN DOMParser
  • Capacità di parsing di jQuery: jQuery.parseHTML()
  • Cheerio, un’implementazione veloce, flessibile e snella del core di jQuery per il server: Cheerio.js
  • Per l’analisi non-JS: la libreria BeautifulSoup di Python: Beautiful Soup