Analysieren Sie HTML in Java

MD Aminul Islam 12 Oktober 2023
  1. Arbeiten von Jsoup in Java
  2. Verwenden Sie Jsoup, um HTML in Java zu parsen
Analysieren Sie HTML in Java

Wenn Sie an einem Programm arbeiten, das mit HTML-Dateien arbeitet, müssen Sie möglicherweise einen Weg finden, HTML-Dateien effizient zu parsen. Sie können HTML-Dateien schnell mit der Programmiersprache Java parsen, indem Sie das am häufigsten verwendete Web-Scraping-Tool Jsoup verwenden.

Dieser Artikel beschreibt, wie eine HTML-Datei analysiert wird. Außerdem werden wir das Thema erörtern, indem wir die notwendigen Beispiele und Erklärungen bereitstellen, um das Thema zu vereinfachen.

Arbeiten von Jsoup in Java

Das Jsoup funktioniert, indem es die HTML-Datei der Webseite parst und sie dann in ein Document-Objekt umwandelt. Das kann man als programmatische Repräsentation des DOM sagen.

Eine Methode namens parse in Jsoup erstellt das Dokument. Im Folgenden werden einige der Funktionen von Jsoup besprochen:

  1. parse(File MyFile, @Nullable String charsetName) – Wird verwendet, um eine HTML-Datei zu parsen.
  2. parse(InputStream in, @Nullable String CharsetName, String BaseUri) – liest den InputStream und parst ihn.
  3. parse(String html) – Wird verwendet, um einen HTML-String zu parsen.

Verwenden Sie Jsoup, um HTML in Java zu parsen

Unser Beispiel unten analysiert eine Website mit dem Jsoup. Der Java-Code für unser Beispiel sieht wie folgt aus:

// importing necessary packages
package javaparsehtml;

import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;

public class JavaParseHtml {
  public static void main(String[] args) {
    URL MyUrl;
    try {
      // Providing the URL of the website
      MyUrl = new URL("https://www.example.com");
      HttpURLConnection MyConnection;
      try {
        // Create an Http connection
        MyConnection = (HttpURLConnection) MyUrl.openConnection();
        // Defining the request format
        MyConnection.setRequestProperty("accept", "application/json");

        try {
          // Create a response stream
          InputStream ResponseStream = MyConnection.getInputStream();

          // Parsing the website
          Document MyDoc = Jsoup.parse(ResponseStream, "UTF-8", "https://www.example.com");
          // Showing the output as HTML
          System.out.println(MyDoc.html());
        } catch (IOException e) {
          e.printStackTrace();
        }
      } catch (IOException e) {
        e.printStackTrace();
      }

    } catch (MalformedURLException e) {
      e.printStackTrace();
    }
  }
}

In unserem obigen Beispiel werden wir veranschaulichen, wie wir eine HTML-Datei parsen können, und wir haben bereits den Zweck jeder Zeile befohlen.

Im Beispiel haben wir eine HTTP-Verbindung basierend auf der bereitgestellten URL erstellt und dann die angeforderte Eigenschaft definiert. Danach haben wir einen InputStream erstellt und die Website geparst.

Zuletzt drucken wir die Website als Ausgabe. Nachdem Sie das obige Java-Programm ausgeführt haben, erhalten Sie eine Ausgabe wie die folgende:

<!doctype html>
<html>
 <head>
  <title>Example Domain</title>
  <meta charset="utf-8">
  <meta http-equiv="Content-type" content="text/html; charset=utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <style type="text/css">
    body {
        background-color: #f0f0f2;
        margin: 0;
        padding: 0;
        font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
        
    }
    div {
        width: 600px;
        margin: 5em auto;
        padding: 2em;
        background-color: #fdfdff;
        border-radius: 0.5em;
        box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
    }
    a:link, a:visited {
        color: #38488f;
        text-decoration: none;
    }
    @media (max-width: 700px) {
        div {
            margin: 0 auto;
            width: auto;
        }
    }
    </style>
 </head>
 <body>
  <div>
   <h1>Example Domain</h1>
   <p>This domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.</p>
   <p><a href="https://www.iana.org/domains/example">More information...</a></p>
  </div>
 </body>
</html>

Ein wichtiger Hinweis hier, wenn Sie die jar-Datei der Jsoup nicht installiert oder eingebunden haben, müssen Sie zuerst die jar-Datei in Ihr Projektverzeichnis einbinden oder das Paket installieren. Andernfalls können Fehler auftreten.

MD Aminul Islam avatar MD Aminul Islam avatar

Aminul Is an Expert Technical Writer and Full-Stack Developer. He has hands-on working experience on numerous Developer Platforms and SAAS startups. He is highly skilled in numerous Programming languages and Frameworks. He can write professional technical articles like Reviews, Programming, Documentation, SOP, User manual, Whitepaper, etc.

LinkedIn