jsoup : Le Parseur HTML pour Java

Extrayez, nettoyez et manipulez du HTML avec la simplicité de jQuery en Java

Qu'est-ce que jsoup ?

jsoup est une bibliothèque Java légère mais puissante conçue pour travailler avec du HTML réel. Elle fournit une API intuitive pour analyser du HTML à partir d'URLs, de fichiers ou de chaînes de caractères, extraire et manipuler des données en utilisant le parcours DOM, les sélecteurs CSS et des méthodes HTML5 modernes. Idéale pour le web scraping, l'extraction de données et la sanitisation HTML, jsoup gère élégamment le balisage malformé – comme le ferait un navigateur.

Contrairement aux approches basées sur les expressions régulières, jsoup offre un modèle objet clair avec des méthodes inspirées de jQuery, simplifiant des tâches comme la soumission de formulaires, la modification d'attributs et l'extraction de texte. Sans dépendances et sous licence MIT, c'est un outil privilégié des développeurs Java pour le traitement HTML.

Principaux avantages de jsoup :

  • Gestion du HTML réel : Analyse du HTML désordonné comme un navigateur
  • Syntaxe style jQuery : Sélecteurs CSS familiers (ex. doc.select("div.content"))
  • Optimisé pour le scraping : Gère les redirections, cookies et soumissions de formulaires
  • Multiplateforme : Pur Java sans dépendances natives
  • Sécurité : Prévention XSS intégrée et sanitisation HTML

Parfait pour l'exploration de données, l'automatisation web et l'analyse de contenu.

GitHub

Statistiques GitHub

Nom:
Langue:
Étoiles:
Fourchettes:
Licence:
Le référentiel a été mis à jour pour la dernière fois à

Pourquoi choisir jsoup ?

  • Simplicité : API intuitive avec support des sélecteurs CSS
  • Fiabilité : Maintenue activement depuis 2009
  • Performance : Optimisé pour le streaming et les grands documents
  • Flexibilité : Fonctionne avec des fragments, fichiers ou URLs live
  • Sortie propre : Reformate et indente le HTML

Installation

Ajoutez jsoup via Maven ou Gradle :

Maven



    org.jsoup
    jsoup
    1.17.2


Gradle


implementation 'org.jsoup:jsoup:1.17.2'

Configuration requise : Java 8+

Exemples de Code

Cas d'utilisation pratiques de jsoup :

Analyse HTML avec jsoup

Exemple 1 : Analyser un Document à partir d'une Chaîne

Si vous avez du HTML dans une chaîne Java et que vous souhaitez l'analyser pour en extraire le contenu ou le modifier, jsoup peut le faire en quelques lignes de code.

La méthode parse(String html, String baseUri) convertit le HTML en un nouveau Document. Le paramètre baseUri permet de résoudre les URLs relatives en absolues et devrait correspondre à l'URL d'origine. Si ce n'est pas pertinent, ou si le HTML contient une balise , vous pouvez utiliser la méthode simplifiée parse(String html).

Exemple 2 : Utiliser des Sélecteurs CSS pour Trouver des Éléments

Vous voulez trouver ou manipuler des éléments avec des sélecteurs CSS. Analysez et manipulez directement une chaîne HTML :

Exemple 3 : Modifier le HTML d'un Élément

Vous devez modifier le HTML d'un élément. Utilisez les méthodes de modification d'Element comme montré dans l'exemple suivant.

Fonctionnalités Avancées

jsoup prend en charge le traitement HTML professionnel :

  • Gestion de formulaires : Soumettre des données POST :

    Soumission de Formulaire

    
        Connection.Response res = Jsoup.connect("https://example.com/login")
            .data("username", "user", "password", "pass")
            .method(Connection.Method.POST)
            .execute();
        Document dashboard = res.parse();
        
    
  • Support des proxies : Scraper via des proxies :

    Configuration de Proxy

    
        Document doc = Jsoup.connect("https://target.com")
            .proxy("127.0.0.1", 8080)
            .get();
        
    
  • Manipulation DOM : Modifier la structure HTML :

    Modifications DOM

    
        doc.select("div.ads").remove(); // Supprimer toutes les publicités
        doc.select("h1").attr("class", "header"); // Ajouter une classe CSS
        
    

jsoup vs. HTMLUnit

Différences clés :

  • Focus : jsoup analyse du HTML statique ; HTMLUnit simule des navigateurs (exécution JavaScript)
  • Vitesse : jsoup est plus rapide pour l'analyse HTML pure
  • Style d'API : jsoup utilise des sélecteurs CSS ; HTMLUnit imite Selenium
  • Cas d'usage : jsoup pour le scraping ; HTMLUnit pour les pages dynamiques
  • Dépendances : jsoup n'en a aucune ; HTMLUnit nécessite des librairies supplémentaires

Conclusion

jsoup est l'outil ultime pour les développeurs Java travaillant avec du HTML. Idéal pour :

  • Web scraping : Extraire des données de n'importe quel site
  • Nettoyage de données : Sanitiser et normaliser du HTML
  • Analyse de contenu : Parser des flux RSS ou archives web
  • Tests : Vérifier la structure HTML dans les applications

Avec sa licence MIT et son API intuitive, jsoup est le premier choix pour le traitement HTML en Java.

Produits Similaires

 Français