Jsoup - Extraire et parser le code HTML en Java

Jsoup  ist ein bookseller  de  Java  der den Code verarbeitet  HTML. Es ist ein API  sehr praktisch zum Extrahieren und Bearbeiten von Daten mit den besten Methoden von  DOM,  CSS  et  jquery.
jsoup  implementiert die Eigenschaften von HTML5 und analysiert den HTML-Code in einem Baum (DOM), wie es moderne Browser tun. JSOUP ist ein Open-Source-Projekt, das unter dem Dach der MIT Lizenz. Den Quellcode finden Sie in  GitHub.
Funktionen:
- Analysieren Sie einen HTML-Code aus einer URL, einer Datei oder einem String.
- Suchen und Extrahieren von Daten mithilfe des DOM-Baums und CSS.
- Elemente und Text bearbeiten HTML.
- Verhindern Sie XSS-Angriffe, indem Sie das Abonnement des Benutzers löschen.
- Erstellen Sie einen ordentlichen HTML-Code.
    JSoup ist so konzipiert, dass es mit verschiedenen HTML-Versionen angepasst werden kann, es erstellt einen analysierten Baum.
    Klicken Sie, um style="color: blue;" zu < >  Download jsoup.

    Beispiel:

    Rufen Sie die Wikipedia-Seite ab, transformieren Sie sie und analysieren Sie sie als DOM und wählen Sie aus dem Nachrichtenbereich eine Liste von Elementen aus.
    Dokument doc = Jsoup.connect("http://fr.wikipedia.org").get();

    1 - Analysieren eines Dokuments

    Dieser Code dient zur Analyse von a  document HTML:

    String html = " < Kopf> < Titel> Erster Titel "
      + "< Körper> < Beispielcode zum Dokument ";
    Dokument doc = Jsoup.parse(html);

    Der Parser wird sein Bestes tun, um aus dem von Ihnen bereitgestellten Code einen klaren HTML-Code zu erstellen, er behandelt:

    - Ungeschlossene Tags, z. B.: < blabla verwandeln sich in < blabla
    - Implizite Tags, z. B.:
            < td>   Tisch ist umgeben von  < Tabelle> < tr> < td>
    - Die Struktur des erstellten Codes respektiert die Standards der HTML-Sprache (Kopf, Körper und die Elemente, aus denen die Seite besteht).

    2- Analysieren Sie ein Dokument aus einem String

    Wir haben den HTML-Code in einem Java-String und wollen ihn aufschlüsseln, um seinen Inhalt zu haben, oder um zu überprüfen, ob er gut geschrieben ist, oder um ihn zu ändern. Der Eintrag kann aus einer Datei oder einem Link aus dem Web gelesen werden.
    Sie müssen die vordefinierte Methode verwenden  Jsoup.parse(String html)  oder  Jsoup.parse(String html, String Uri)  wenn die Seite aus dem Internet stammt. Siehe  class Jsoup.

    String html = " < Kopf> < Titel> Titel "
      + "< Körper> < p>html en doc ";
    Dokument doc = Jsoup.parse(html);

    Die Methode  Jsoup.parse(String html, String Uri)  Analysiert die HTML-Code-Eingabe in einem neuen Dokument. Das Argument URI wird verwendet, um relative URLs in absolute URLs umzuwandeln und should  Sein  Initialisiert mit der URL, deren Dokument wurde  Wiederhergestellt. Wenn das nicht möglich ist, können Sie  Verwenden Sie die Option Jsoup.parse(String html).
    Der als Parameter übergebene String darf nicht null sein und das Ausgabedokument besteht aus weniger als head et de body. Wenn Sie  obturerez  Eine Ausnahme, bei der Sie feststellen werden, dass die Extraktion des Baums nicht durchgeführt wird. Lesen Sie die documentation  für weitere Informationen.
    Sobald Sie das Dokument haben, können Sie: Erholen  Daten mit den Methoden der Klasse  Dokument und höhere Noten  Node  et  Element.

    3- Analysieren Sie den Körper

    Wir haben ein Stück Body, das wir analysieren wollen. Der Code kann Elemente enthalten, die z. B. kein HTML-Code sind, wie z. B. comments.
    Die Lösung besteht darin, die Jsoup.parseBodyFragment(String html).

    String html="< div> < Absatz ";
    Dokument doc = Jsoup.parseBodyFragment(html);
    Element body = doc.body();


    Die Methode parseBodyFragment erstellt ein leeres Dokument und fügt den analysierten HTML-Code in den Text ein. Wenn Sie die Funktion Jsoup.parse(String html), haben Sie die  Dasselbe  Ergebnis, aber die Ausgabe als   Ein Body-Fragment stellt sicher, dass alle bereitgestellten Elemente analysiert wurden.
    Die Methode Document.body() ruft die Elemente ab  Unterkörper (Kinderkörpers) ist es gleichbedeutend mit doc.getElementsByTag("body").
    Es ist ratsam, vorsichtig zu bleiben, wenn Sie  Genesen Daten von Websites, die Skripts enthalten bösartig. Sehen Sie sich die Dokumentation der whitelist  und mit der Bestellung  clean(String html, Whitelist whitelist).

    4- Laden Sie ein Dokument aus einer URL

    Um ein HTML-Dokument aus dem Web zu suchen und zu analysieren und die Daten zu finden, müssen Sie die Jsoup.connect(String url).

    Document doc = Jsoup.connect("http://siteweb.com/").get(); 
    String title = doc.title();
    Die Methode connect(String url) erstellt eine neue connexion  und get() sucht und analysiert die HTML-Datei. Wenn a  Fehler, der während der Suche aufgetreten ist, wird eine Ausnahme being  triggered.
    Die Schnittstelle  connexion  ist konzipiert in  chaining  für eine bestimmte Antwort :

    Document doc = Jsoup.connect("http://siteweb.com")
      .data("query", "Java")
      .userAgent("Mozilla")
      .cookie("auth", "token")
      .timeout(3000)
      .post();
    Diese Methode unterstützt nur URLs der Protokolle http und https. Wenn Sie eine Datei hochladen müssen, verwenden Sie am besten die Methode parse(Datei in, String charsetName).

    5- Laden Sie ein Dokument aus einer Datei

    Wir haben eine Datei, die HTML enthält, und wir möchten sie laden, dann analysieren und die Daten extrahieren, um sie zu bearbeiten. Sie sollten die Methode Jsoup.parse(File in, String encoding, String Uri).

    Datei Eingabe = new Datei("/temp/siteinput.html"); 
    Document doc = Jsoup.parse(siteinput, "UTF-8", "http://siteweb.com/"); 
    Der Parameter Uri wird verwendet, um relative URLs im Dokument vor dem vorkommen. Sie können einen leeren String übergeben.
    Es gibt eine andere ähnliche Methode parse(File in, String encoding). Die parse()-Methode verwendet den Dateipfad als Uri. Diese Methode ist effektiv, wenn Sie auf einem lokalen Server arbeiten.