HTML => DOM - Welcher Parser für meine Zwecke?

Skymax86

Neues Mitglied
Hallo liebe Leute 🙂

Folgendes Problem stellt sich mir derzeit: Ich soll im Rahmen eines Projekts die DOM Trees einer beliebigen Webpage inklusive Unterseiten (DiePresse.com, derStandard.at etc.) in Java speichern bzw. mittels Algorithmus bearbeiten können. (Die DOM-Trees der Hauptseite und der Unterseiten sollen miteinander verglichen werden und dann relevanter Content mittels SST-Algorithmus extrahiert werden)

Welcher Parser wäre hierzu am besten geeignet? Da viele Seiten wohl kaum besonders XML-konform sein werden brauche ich also einen relativ fehlertoleranten HTML-Parser, und wie komme ich von da ausgehend zum DOM-Tree?

Hat da jemand Beispiele oder Tipps für mich? - ich habe jetzt einige Monate kaum programmiert und bin dahingehend etwas eingerostet..

lg Markus
 
Es gibt hunderte von HTML Parsern. Ich hatte da mal eine Weile gesucht, und war mit allen mehr oder weniger unzufrieden, aber bei Jericho HTML Parser hat meine Suche dann geendet. Das heißt aber NUR, dass der für das was ICH machen wollte, OK war, und NICHT, dass nicht nicht nachher noch einen VIIEEEEL besseren hätte finden können 😉

EDIT: Falls der Algorithmus irgenwas wirklich Baumstruckturspezifisches ist (also wirklich den DOM braucht) ist er aber vermutlich nicht so geeignet. Er baut nicht wirklich einen Baum. Aber ich hatte vielleicht bei SST etwas falsches im Kopf, und jetzt nichts genaueres dazu gefunden...
 
Zuletzt bearbeitet:
ja, der DOM-Tree wär schon sehr sehr wichtig, ich muss nämlich aus den DOM-Trees nachher mittels Algorithmus den Site Style Tree bestimmen der sich wiederrum großteils aus Gemeinsamkeiten der DOM-Trees zusammensetzt..
 
Naja, die Bibliothek bietet schon Möglichkeiten, aus dem gelesenen einen Baum zu bauen, klar, aber wenn es speziell und "nur" um einen Baum geht, gibt es vielleicht(!) geeignetere. Ich fand an Jericho halt die Robustheit gut, und die Nähe zum HTML-Code - man kann sehr viele Informationen über den echten, zugrundeliegenden HTML Code bekommen. Bei komplett DOM-orientierten Parsern kann es halt leicht passieren, dass es sie beim geringsten Fehler in einem Tag raushaut, und der Baum nur noch "Müll" enthält (die wenigsten Webseiten enthalten in diesem Sinne "perfektes" HTML). Aber vielleicht hat ja noch jemand eine konkrete Empfehlung zu einen rein DOM-basierten Parser...
 

Zurück
Oben