1. Prodotti
  2.   Editore
  3.   Java
  4.   jsoup
 
  

jsoup: Il Parser HTML per Java

Esegui scraping, pulizia e manipolazione di HTML con la semplicità di jQuery in Java

Cos'è jsoup?

jsoup è una libreria Java leggera ma potente progettata per lavorare con HTML reale. Offre un'API intuitiva per analizzare HTML da URL, file o stringhe, estraendo e manipolando dati tramite navigazione DOM, selettori CSS e metodi HTML5 moderni. Ideale per web scraping, estrazione dati e sanificazione HTML, jsoup gestisce markup malformati con eleganza, proprio come farebbe un browser.

A differenza degli approcci basati su regex, jsoup offre un modello a oggetti pulito con metodi ispirati a jQuery, semplificando operazioni come invio di form, modifica di attributi ed estrazione di testo. Senza dipendenze e con licenza MIT, è la scelta preferita degli sviluppatori Java per l'elaborazione HTML affidabile.

Vantaggi principali di jsoup:

  • Gestione di HTML reale: Analizza HTML disordinato come farebbe un browser
  • Sintassi simile a jQuery: Selettori CSS familiari (es. doc.select("div.content"))
  • Ottimizzato per scraping: Segue reindirizzamenti, gestisce cookie e invia form
  • Cross-platform: Puro Java senza dipendenze native
  • Sicurezza: Prevenzione XSS integrata e sanificazione HTML

Perfetto per data mining, automazione web e analisi dei contenuti.

GitHub

Statistiche GitHub

Nome:
Lingua:
Stelle:
Forchette:
Licenza:
L'ultimo aggiornamento del repository è avvenuto il

Perché Scegliere jsoup?

  • Semplicità: API intuitiva con supporto per selettori CSS
  • Affidabilità: Manutenuto attivamente dal 2009
  • Performance: Ottimizzato per streaming e documenti di grandi dimensioni
  • Flessibilità: Funziona con frammenti, file o URL live
  • Output pulito: Formattazione e pretty-printing dell'HTML

Installazione

Aggiungi jsoup via Maven o Gradle:

Maven



    org.jsoup
    jsoup
    1.17.2


Gradle


implementation 'org.jsoup:jsoup:1.17.2'

Requisiti di sistema: Java 8+

Esempi di Codice

Casi d'uso pratici di jsoup:

Parsing HTML con jsoup

Esempio 1: Analizzare un Documento da una Stringa

Se hai HTML in una stringa Java e vuoi analizzarlo per ottenerne il contenuto o modificarlo, jsoup può farlo con poche righe di codice.

Il metodo parse(String html, String baseUri) converte l'HTML in un nuovo Document. Il parametro baseUri aiuta a risolvere URL relativi in assoluti e dovrebbe corrispondere all'URL da cui è stato ottenuto il documento. Se non rilevante, o se l'HTML contiene un tag <base>, puoi usare il metodo più semplice parse(String html).

Esempio 2: Usare Selettori CSS per Trovare Elementi

Per trovare o manipolare elementi con selettori CSS, analizza e modifica una stringa HTML direttamente:

Esempio 3: Modificare l'HTML di un Elemento

Per modificare l'HTML di un elemento, usa i metodi setter di Element come mostrato nel codice seguente.

Funzionalità Avanzate

jsoup supporta elaborazione HTML professionale:

  • Gestione form: Invia dati POST:

    Invio Form

    
        Connection.Response res = Jsoup.connect("https://example.com/login")
            .data("username", "user", "password", "pass")
            .method(Connection.Method.POST)
            .execute();
        Document dashboard = res.parse();
        
    
  • Supporto proxy: Scraping tramite proxy:

    Configurazione Proxy

    
        Document doc = Jsoup.connect("https://target.com")
            .proxy("127.0.0.1", 8080)
            .get();
        
    
  • Manipolazione DOM: Modifica struttura HTML:

    Modifiche DOM

    
        doc.select("div.ads").remove(); // Rimuovi tutti gli annunci
        doc.select("h1").attr("class", "header"); // Aggiungi classe CSS
        
    

jsoup vs. HTMLUnit

Differenze chiave:

  • Focus: jsoup analizza HTML statico; HTMLUnit simula browser (esecuzione JavaScript)
  • Velocità: jsoup è più veloce per il parsing HTML puro
  • Stile API: jsoup usa selettori CSS; HTMLUnit emula Selenium
  • Casi d'uso: jsoup per scraping; HTMLUnit per test su pagine dinamiche
  • Dipendenze: jsoup non ne ha; HTMLUnit richiede librerie aggiuntive

Conclusione

jsoup è il toolkit HTML definitivo per sviluppatori Java. Ideale per:

  • Web scraping: Estrai dati da qualsiasi sito web
  • Pulizia dati: Sanifica e normalizza HTML
  • Analisi contenuti: Parsing di feed RSS o archivi web
  • Testing: Verifica la struttura HTML nelle app

Con licenza MIT e API intuitiva, jsoup è la scelta migliore per l'elaborazione HTML in Java.

Prodotti Simili

 Italiano