HTML ist ja leider kein XML und so gibt es immer wieder Probleme, wenn man versucht eine HTML-Seite aus der realen Welt zu verarbeiten; dabei klappt es mit dem DOM in einem Browser doch ganz gut, nur ist der Browser darauf spezialisiert die realen Seiten zu parsen. In Java übernimmt dies z.B. jsoup
jsoup: Java HTML Parser versucht sämtliche Seiten zu parsen, um die Bestandteile dann mittels DOM und jquery zur Weiterverarbeitung anzubieten.
Um z.B. alle Links eines HTML-Dokuments über den DOM-Weg zu erhalten reichen die folgenden Zeile Java-Code:
Document doc = Jsoup.parse(html); Elements links = content.getElementsByTag("a"); for (Element link : links) { String linkHref = link.attr("href"); String linkText = link.text(); }
Eine weitere Möglichkeit wäre (mittels CSS/Jquery Selector):
Document doc = Jsoup.parse(html); Elements links = doc.select("a[href]"); // a with href
Um unsauber definierte HTML-Dokumente einfach aufzuräumen kann man sich auch noch den angucken. Nach dem Aufräumen kann man über Standard-XML-Bibliotheken auf die Struktur zugreifen und muss „nichts neues“ lernen oder kann die Dokumente in die gegebene Projektstruktur einfach einbinden.
Schreibe einen Kommentar