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
Auch in der Bibliothek
Maschinelles Lernen mit Rust: Überblick über Bibliotheken für Data Science
NestJS für TypeScript: Vollständiger Leitfaden mit Beispielen
Datenvalidierung in Rust: Überblick über Bibliotheken und Frameworks