Jsoup Java: Vollständiges Tutorial mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Jsoup für Java: Vollständiges Tutorial zum HTML-Parsing

1. Was ist Jsoup und wozu braucht man es?

Jsoup ist eine leistungsstarke und benutzerfreundliche Open-Source-Java-Bibliothek zum Parsen, Extrahieren und Manipulieren von HTML-Dokumenten. Sie bietet Entwicklern eine saubere und intuitive API, mit der sich HTML so einfach bearbeiten lässt wie ein DOM-Baum im Browser. Wenn Sie schon einmal reguläre Ausdrücke schreiben mussten, um Daten aus Webseiten zu extrahieren, wissen Sie, wie fragil und wartungsintensiv dieser Ansatz sein kann. Jsoup löst dieses Problem mit einem zuverlässigen und flexiblen Werkzeug.

Die Hauptaufgabe von Jsoup ist das HTML-Parsing. Es kann einen String, eine URL oder eine Datei als Eingabe nehmen und in ein Document Object Model (DOM) umwandeln. Danach können Sie CSS-Selektoren (wie in jQuery) oder die DOM-Navigation verwenden, um bestimmte Elemente, deren Attribute und Textinhalte zu finden und zu extrahieren. Darüber hinaus kann Jsoup HTML von potenziell gefährlichen Elementen (z. B. XSS-Angriffen) bereinigen und das Dokument modifizieren: Tags und deren Inhalte hinzufügen, entfernen oder ändern.

Wofür wird das benötigt? Die Einsatzbereiche von Jsoup sind vielfältig: von einfachen Parsern für Web Scraping und Preisüberwachung bis hin zu komplexen Content-Analyse-Systemen, Webanwendungs-Tests und CMS-Integration. Jsoup ist der De-facto-Standard für die HTML-Verarbeitung in der Java-Welt, und seine Kenntnis ist für jeden Java-Entwickler, der mit Webtechnologien arbeitet, unerlässlich.

2. Jsoup Installation

Jsoup wird als JAR-Datei vertrieben, aber am einfachsten binden Sie es über ein Build-System ein. Nachfolgend finden Sie die Befehle für Maven und Gradle.

Maven (pom.xml)

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.17.2</version>
</dependency>

Gradle (build.gradle)

implementation 'org.jsoup:jsoup:1.17.2'

Wenn Sie kein Build-System verwenden, laden Sie die JAR-Datei von der offiziellen Website herunter und fügen Sie sie dem Classpath Ihres Projekts hinzu.

3. Schnellstart: Minimales funktionierendes Beispiel

Schreiben wir ein einfaches Programm, das die Startseite von Google lädt und deren Titel ausgibt.

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class QuickStart {
    public static void main(String[] args) throws Exception {
        // 1. HTML-Dokument von einer URL laden
        Document doc = Jsoup.connect("https://www.google.com").get();

        // 2. Seitentitel extrahieren (Inhalt des <title>-Tags)
        String title = doc.title();

        // 3. Ergebnis ausgeben
        System.out.println("Seitentitel: " + title);
    }
}

Dieser Code führt einen HTTP-GET-Request an die angegebene URL aus, parst das erhaltene HTML und gibt ein Document-Objekt zurück. Die Methode title() ist eine bequeme Möglichkeit, den Inhalt des <title>-Tags zu erhalten. Die Ausgabe sieht ungefähr so aus: Seitentitel: Google.

4. Wichtige Methoden und Klassen von Jsoup

Betrachten wir die wichtigsten Klassen und Methoden der Bibliothek. Alle Beispiele gehen davon aus, dass Sie org.jsoup.Jsoup und org.jsoup.nodes.* bereits importiert haben.

4.1. Jsoup.connect(String url)

Signatur: public static Connection connect(String url)

Funktion: Erstellt eine neue HTTP-Verbindung zur angegebenen URL. Gibt ein Connection-Objekt zurück, das

Empfehlungen