ホームページ >Java >&#&チュートリアル >Java API開発におけるWebスクレイピングにJSoupを使用する

Java API開発におけるWebスクレイピングにJSoupを使用する

王林
王林オリジナル
2023-06-17 23:49:381280ブラウズ

インターネット情報の爆発的な増加に伴い、Web ページから関連データを取得する必要があるアプリケーションがますます増えています。 JSoup は、Web ページからデータを簡単に抽出して操作できる Java HTML パーサーです。 Java API 開発では、JSoup は重要で一般的に使用されるツールです。この記事では、WebスクレイピングにJSoupを使用する方法を紹介します。

1. JSoup の概要と基本的な使用法

1. JSoup の概要

JSoup は Java HTML パーサーであり、開発者は Maven を介してプロジェクトに導入できます。次の依存関係:

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.14.2</version>
</dependency>

2. 基本的な使用法

JSoup を使用するには、まず HTML ページのコンテンツを Document オブジェクトに解析する必要があり、その後、このオブジェクトを使用できます。ページ内のさまざまな要素を取得します。 JSoup の基本的な使用例を以下に示します:

String url = "https://www.baidu.com/";
Document document = Jsoup.connect(url).get(); // 通过 URL 加载页面

// 获取页面标题
String title = document.title();

// 获取页面所有超链接
Elements links = document.select("a[href]");

// 循环遍历页面中的所有链接
for(Element link: links){
    String linkHref = link.attr("href");
    String linkText = link.text();
}

2. JSoup を Web クローリングに使用する

1. URL からページ情報を取得する

JSoup の使用方法 connect (url).get() 以下に示すように、指定された URL アドレスを通じてページ情報を取得できます:

String url = "https://www.baidu.com/";
Document document = Jsoup.connect(url).get();

2. HTML 要素を解析します

の構造に従ってページでは select() メソッドを使用すると、必要な要素をすばやく取得できます。以下は、JSoup を使用してすべてのリンクを取得する例です。

Elements links = document.select("a[href]");

for(Element link: links){
    String linkHref = link.attr("href");
    String linkText = link.text();
    System.out.println(linkHref + " , " + linkText);
}
  1. フィルタリング

セレクター構文を使用すると、指定された条件を満たすページ内の要素を取得できます。たとえば、クラス「s_ipt」のすべての入力要素を取得するには、次のコードを使用します。

Elements inputs = document.select("input[class=s_ipt]");

サポートされるセレクター構文には、ラベル セレクター、クラス セレクター、ID セレクター、属性セレクター、および組み合わせ選択セレクター、擬似セレクターなど

4. イベント処理

JSoup はページ上のイベントを簡単に処理できます。たとえば、次のコードを使用して、必要な入力要素を取得し、それにイベント リスナーをバインドできます:

Element input = document.select("input[type=text").first();

input.attr("oninput", "console.log('input value has changed')");

5. フォームの送信

JSoup もフォームの送信に役立ちます。たとえば、次のコードを使用して、Baidu 検索ボックスへの送信を完了できます:

String url = "https://www.baidu.com/s";
String keyword = "Java";
Document document = Jsoup.connect(url)
                        .data("wd", keyword)
                        .post();

3. まとめ

この記事では、Web クローリングに JSoup を使用する方法と基本的な使用法を紹介します。ジェイスープの。 JSoup を使用すると、ページ要素、フィルター、イベント ハンドル、フォームの送信などを簡単に取得できます。もちろん、JSoupを使用する場合は、関連する法律、規制、倫理の遵守に注意する必要があり、違法かつ懲戒的な方法で他人の情報を取得することはできません。

以上がJava API開発におけるWebスクレイピングにJSoupを使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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