jsoup: Der Java HTML-Parser
Scrapen, bereinigen und manipulieren Sie HTML mit jQuery-ähnlicher Einfachheit in Java
Was ist jsoup?
jsoup ist eine leichte aber leistungsstarke Java-Bibliothek für die Arbeit mit realem HTML. Es bietet eine intuitive API zum Parsen von HTML aus URLs, Dateien oder Strings, zum Extrahieren und Manipulieren von Daten mittels DOM-Traversal, CSS-Selektoren und modernen HTML5-Methoden. Ideal für Web-Scraping, Datenextraktion und HTML-Sanierung - jsoup verarbeitet fehlerhaftes Markup so, wie es ein Browser tun würde.
Im Gegensatz zu Regex-Ansätzen bietet jsoup ein sauberes Objektmodell mit von jQuery inspirierten Methoden, die Aufgaben wie Formularübermittlung, Attributänderung und Textextraktion vereinfachen. Ohne Abhängigkeiten und mit MIT-Lizenz ist es die erste Wahl für Java-Entwickler, die zuverlässige HTML-Verarbeitung benötigen.
Hauptvorteile von jsoup:
- Echtwelt-HTML-Verarbeitung: Verarbeitet unordentliches HTML wie Browser
- jQuery-ähnliche Syntax: Vertraute CSS-Selektoren (z.B.
doc.select("div.content")
) - Scraping-freundlich: Folgt Weiterleitungen, verwaltet Cookies und sendet Formulare
- Plattformübergreifend: Reines Java ohne native Abhängigkeiten
- Sicherheit: Integrierter XSS-Schutz und HTML-Sanierung
Perfekt für Data Mining, Web-Automatisierung und Inhaltsanalyse.
Warum jsoup wählen?
- Einfachheit: Intuitive API mit CSS-Selektor-Unterstützung
- Zuverlässigkeit: Aktiv gepflegt seit 2009
- Leistung: Optimiert für Streaming und große Dokumente
- Flexibilität: Arbeitet mit Fragmenten, Dateien oder Live-URLs
- Saubere Ausgabe: Formatierung und Neustrukturierung von HTML
Installation
jsoup über Maven oder Gradle hinzufügen:
Maven
org.jsoup
jsoup
1.17.2
Gradle
implementation 'org.jsoup:jsoup:1.17.2'
Systemvoraussetzungen: Java 8+
Codebeispiele
Praktische Anwendungsfälle für jsoup:
Beispiel 1: Dokument aus String parsen
Wenn Sie HTML in einem Java-String haben und es analysieren möchten, um Inhalte zu erhalten oder zu ändern, kann jsoup dies mit wenigen Codezeilen erledigen.
Die Methode parse(String html, String baseUri) wandelt den Eingabe-HTML-String in ein neues Document-Objekt um. Der baseUri-Parameter hilft, relative URLs in absolute umzuwandeln und sollte der URL entsprechen, von der das Dokument stammt. Falls irrelevant oder wenn das HTML ein <base>-Element enthält, kann die einfachere parse(String html)-Methode verwendet werden.
Beispiel 2: Elemente mit CSS-Selektoren finden
Sie möchten Elemente mit CSS-Selektoren finden oder manipulieren. Analysieren und bearbeiten Sie einen HTML-String direkt:
Beispiel 3: HTML eines Elements ändern
Sie müssen das HTML eines Elements ändern. Verwenden Sie die HTML-Setter-Methoden in Element wie im folgenden Beispiel gezeigt:
Erweiterte Funktionen
jsoup unterstützt professionelle HTML-Verarbeitung:
- Formularbehandlung: POST-Daten senden:
Formularübermittlung
Connection.Response res = Jsoup.connect("https://example.com/login") .data("username", "user", "password", "pass") .method(Connection.Method.POST) .execute(); Document dashboard = res.parse();
- Proxy-Unterstützung: Scraping über Proxy:
Proxy-Konfiguration
Document doc = Jsoup.connect("https://target.com") .proxy("127.0.0.1", 8080) .get();
- DOM-Manipulation: HTML-Struktur ändern:
DOM-Änderungen
doc.select("div.ads").remove(); // Entfernt alle Anzeigen doc.select("h1").attr("class", "header"); // Fügt CSS-Klasse hinzu
jsoup vs. HTMLUnit
Hauptunterschiede:
- Fokus: jsoup parst statisches HTML; HTMLUnit simuliert Browser (JavaScript-Ausführung)
- Geschwindigkeit: jsoup ist schneller für reines HTML-Parsing
- API-Stil: jsoup verwendet CSS-Selektoren; HTMLUnit imitiert Selenium
- Anwendungsfälle: jsoup für Scraping; HTMLUnit für Tests dynamischer Seiten
- Abhängigkeiten: jsoup hat keine; HTMLUnit benötigt zusätzliche Bibliotheken
Fazit
jsoup ist das ultimative HTML-Toolkit für Java-Entwickler. Ideal für:
- Web-Scraping: Daten von jeder Website extrahieren
- Datenbereinigung: HTML sanieren und normalisieren
- Inhaltsanalyse: RSS-Feeds oder Webarchive parsen
- Tests: HTML-Struktur in Apps verifizieren
Mit MIT-Lizenz und intuitiver API ist jsoup die beste Wahl für HTML-Verarbeitung in Java.
Ähnliche Produkte
- Apache POI XWPF | Open Source Java API zum Erstellen und Ändern von DOCX-Dateien
- DocX | Open Source .NET API zum Erstellen und Ändern von DOCX-Dateien
- Docx4J | Open Source Java API zum Erstellen und Ändern von DOC- und DOCX-Dateien
- ExcelDataReader | Open Source .NET-API zum Lesen von XLS-, XLSX-, CSV- und Tabellenkalkulationsdokumenten
- FileFormat.Cells | Erstellen und Aktualisieren von Excel-Dateien mit C# .NET