Für ein aktuelles Kundenprojekt sollen im Rahmen einer Migration auf ein neues CMS-System Daten eines Fremdanbieters integriert werden. Die Anlieferung der Daten erfolgt im HTML Format, welches neben JavaScript Code auch CSS-Styles enthält, die im Konflikt mit dem Layout des CMS Systems stehen.
Zur Extraktion der wesentlichen Daten aus dem HTML-Stream haben wir uns für den freien Java HTML-Parser jsoup entschieden. Der unter der MIT license stehende Open Source Parser lässt sich ganz einfach über eine Maven Dependency in die bestehende Projektstruktur integrieren.
Zu den grossen Vorteilen von jsoup zählen neben den performanten Abfragen vor allem die komfortablen Zugriffsmöglichkeiten auf den DOM. So werden u. a. die von JQuery bekannten Abfragemethoden unterstützt.
Im folgenden Beispiel werden aus der Wikipedia Seite alle Überschriften der Newsartikel (rechte Spalte oben) herausgezogen:
Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
Elements newsHeadlines = doc.select("#mp-itn b a");
Wie man sieht hat Jsoup bereits eine Untersützung für den externen Zugriff über Http-Requests integriert. Mit nativen Java-Boardmitteln hätte diese Aufgabe mit einem wesentlichen Mehraufwand realisiert werden müssen.