1. Produkte
  2.   Editor
  3.   Java
  4.   jsoup
 
  

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.

GitHub

GitHub-Statistiken

Name:
Sprache:
Sterne:
Gabeln:
Lizenz:
Das Repository wurde zuletzt aktualisiert unter

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:

HTML-Parsing mit 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

 Deutsch