チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル»Java»Spire.Doc for Java»変換»Java:HTML からテキストを抽出する方法
2023-12-29

Java:HTML からテキストを抽出する方法

HTML(Hypertext Markup Language) は、インターネット上で最も一般的に使用されるテキストマークアップ言語の1つとなり、ほぼすべてのウェブページは HTML を使用して作成されます。HTML には多くのタグや書式情報が含まれていますが、最も価値のあるコンテンツは通常、表示されるテキストです。テキストを HTML ファイルから抽出する方法を知っておくことは重要です。これを利用して編集、AI のトレーニング、またはデータベースへの保存などのタスクに使用するユーザーがいる場合です。この記事では、Java プログラム内で Spire.Doc for Java を使用して HTML からテキストを抽出する方法を示します。

Spire.Doc for Java をインストールします

まず、Spire.Doc for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc</artifactId>
        <version>11.12.1</version>
    </dependency>
</dependencies>

HTML ファイルからテキストを抽出する

Spire.Doc for Java では、Document.loadFromFile(filename, FileFormat.Html) メソッドを使用して HTML ファイルを読み込むことができます。その後、Document.getText() メソッドを使用してブラウザで表示されるテキストを取得し、それを TXT ファイルに書き込むことができます。具体的な手順は以下の通りです:

  • Document クラスのオブジェクトを作成します。
  • Document.loadFromFile(fileName, FileFormat.Html) メソッドを使用して HTML ファイルを読み込みます。
  • Document.getText() メソッドを使用して HTML ファイルのテキストを取得します。
  • テキストを TXT ファイルに書き込みます。
  • Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import java.io.FileWriter;
import java.io.IOException;

public class ExtractTextFromHTML {
    public static void main(String[] args) throws IOException {

        // Documentクラスのオブジェクトを作成します
        Document doc = new Document();

        // HTMLファイルを読み込みます
        doc.loadFromFile("サンプル.html", FileFormat.Html);

        // HTMLファイルからテキストを取得します
        String text = doc.getText();

        // テキストをTXTファイルに書き込みます
        FileWriter fileWriter = new FileWriter("HTMLのテキスト.txt");
        fileWriter.write(text);
        fileWriter.close();
    }
}

Java:HTML からテキストを抽出する方法

URL からテキストを抽出する

URL からテキストを抽出するには、ユーザーは HTML ファイルを URL から取得し、その後テキストを抽出するためにカスタムメソッドを作成する必要があります。具体的な手順は以下の通りです:

  • Document クラスのオブジェクトを作成します。
  • カスタムメソッド readHTML() を使用して、URL から HTML ファイルを取得し、ファイルパスを返します。
  • Document.loadFromFile(filename, FileFormat.Html) メソッドを使用して HTML ファイルを読み込みます。
  • Document.getText() メソッドを使用して HTML ファイルからテキストを取得します。
  • テキストを TXT ファイルに書き込みます。
  • Java
import com.spire.doc.Document;
import com.spire.doc.FileFormat;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;

public class ExtractTextFromURL {
    public static void main(String[] args) throws IOException {
        // Documentクラスのオブジェクトを作成します
        Document doc = new Document();

        // カスタムメソッドを呼び出してURLからHTMLファイルを読み込みます
        doc.loadFromFile(readHTML("https://aeon.co/essays/for-rachel-bespaloff-philosophy-was-a-sensual-activity", "output.html"), FileFormat.Html);

        // HTMLファイルからテキストを取得します
        String urlText = doc.getText();

        // テキストをTXTファイルに書き込みます
        FileWriter fileWriter = new FileWriter("URLのテキスト.txt");
        fileWriter.write(urlText);
        fileWriter.close();
    }

    public static String readHTML(String urlString, String saveHtmlFilePath) throws IOException {
        // URLクラスのオブジェクトを作成します
        URL url = new URL(urlString);

        // URLを開きます
        URLConnection connection = url.openConnection();

        // URLをHTMLファイルとして保存します
        BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(saveHtmlFilePath), "UTF-8"));
        String line;
        while ((line = reader.readLine()) != null) {
            writer.write(line);
            writer.newLine();
        }

        reader.close();
        writer.close();

        // 保存されたHTMLファイルのファイルパスを返します
        return saveHtmlFilePath;
    }
}

一時ライセンスを申請する

結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。

Read 222 times