ホームページ  >  記事  >  Java  >  Java と Jsoup を使用して Web サイトからデータを抽出する方法

Java と Jsoup を使用して Web サイトからデータを抽出する方法

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-30 17:30:25171ブラウズ

How to Extract Data from Websites Using Java and Jsoup?

Java を使用した Web サイト データの抽出

Web サイトから Java プログラムに情報を取得するには、Jsoup などの HTML パーサーを使用します。 Jsoup の jQuery に似た CSS セレクターとノード リスト (Elements) を表す反復可能なクラスにより、これが推奨されます。

プロセス:

  1. 確立接続: Jsoup.connect(url) メソッドを使用して、目的の Web ページへの接続を確立します。
  2. ページの取得: 接続上で get() メソッドを実行して取得します。ページの HTML ドキュメント。
  3. ドキュメントを解析します。 Jsoup の select() メソッドを適切な CSS セレクターとともに利用して、必要なデータを抽出します。

例 (スタック オーバーフローからの質問と回答者の取得):

<code class="java">import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

public class WebsiteDataRetrieval {

    public static void main(String[] args) throws Exception {
        String url = "https://stackoverflow.com/questions/2835505";
        Document document = Jsoup.connect(url).get();

        // Extract the question
        String question = document.select("#question .post-text").text();
        System.out.println("Question: " + question);

        // Extract the answerers
        Elements answerers = document.select("#answers .user-details a");
        for (Element answerer : answerers) {
            System.out.println("Answerer: " + answerer.text());
        }
    }
}</code>

この例では、指定されたスタック オーバーフローの質問に対する質問と回答者のリストを出力します。

トラブルシューティングNoSuchMethodError:

Jsoup で発生したエラーは、使用しているバージョンの問題に関連しています。この問題は解決されているため、Jsoup の最新バージョンを使用していることを確認してください。さらに、クラスパスに Apache Commons ライブラリがあることを確認してください。

以上がJava と Jsoup を使用して Web サイトからデータを抽出する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。