JavaScript:
HTML parsen

Wie:

Lassen Sie uns HTML mit der DOMParser-API in JavaScript parsen.

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

Nun, greifen wir etwas Spezifischeres ab, wie ein Element mit einer Klasse:

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

Vertiefung

HTML zu parsen ist so alt wie das Web selbst. Anfangs war es eine Sache der Browser – Browser parsten HTML, um Webseiten anzuzeigen. Mit der Zeit wollten Programmierer in diesen Prozess eingreifen, was zu APIs wie DOMParser führte.

Alternativen? Sicher. Wir haben Bibliotheken wie jQuery und Werkzeuge wie BeautifulSoup für Python. Aber der native DOMParser von JavaScript ist schnell und eingebaut, ohne Bedarf für zusätzliche Bibliotheken.

Was die Umsetzung betrifft, wenn Sie HTML mit DOMParser parsen, wird ein Document-Objekt erstellt. Denken Sie daran als ein hierarchisches Modell Ihres HTML. Sobald Sie es haben, können Sie es navigieren und manipulieren, genau wie Sie es mit dem DOM einer normalen Webseite tun würden.

Hier ist die Sache – Parsen kann bei fehlerhaftem HTML ins Straucheln geraten. Browser sind nachsichtig, aber DOMParser ist es möglicherweise nicht. Deshalb könnten Bibliotheken von Drittanbietern bei komplexen Aufgaben oder unordentlichem HTML eine bessere Reinigungsarbeit leisten.

Siehe auch

  • MDN Web Docs zur DOMParser-API: MDN DOMParser
  • jQuery’s Parsing-Fähigkeiten: jQuery.parseHTML()
  • Cheerio, eine schnelle, flexible und schlanke Implementierung des Kerns von jQuery für den Server: Cheerio.js
  • Für das Nicht-JS-Parsing: Pythons BeautifulSoup-Bibliothek: Beautiful Soup