Repolode
jhy

jhy/jsoup

DOMメソッド、CSSセレクター、XPathを使って実際のHTMLを解析、スクレイピング、編集、サニタイズできるJavaライブラリ。

スター
11,413
フォーク
2,318
未解決の Issue
6
最終コミット
一昨日

これは何?

jsoupは、Web上のHTMLやXMLを扱うためのJavaライブラリです。URLからページを取得したり、ファイルや文字列から解析したりして、WHATWG HTML5仕様に準拠したDOMツリーを構築します。そのため、生成される構造は最新のブラウザーが作るものと一致します。タグスープと呼ばれることもある不正なマークアップや乱雑なマークアップも、妥当なツリーとして解析できます。

ドキュメントを解析した後は、DOMの走査、CSSセレクター、XPathでデータを検索し、要素、属性、テキストを読み取ったり変更したりできます。また、整ったHTMLを出力することも可能です。ユーザー投稿コンテンツ向けには、許可リストに基づくクリーナーを備えており、許可されていないタグや属性を取り除いてXSS攻撃の防止に役立てられます。

jsoupはjarとして配布されており、MavenとGradleからも利用できます。ライセンスはMITです。AndroidでJava 8以降の機能を使う場合は、core library desugaringを有効にするようプロジェクトで案内されています。

主な機能

  • 01URL、ファイル、文字列からHTMLやXMLを解析し、ブラウザー互換のDOMを構築します。
  • 02CSSセレクター、DOMの走査、XPathを使って要素を選択します。
  • 03要素、属性、テキストを変更し、整ったHTMLを出力します。
  • 04信頼できないHTMLを許可リストに照らしてクリーニングし、XSSのリスクを軽減します。
  • 05実際のWebにある不正なマークアップも、失敗せずに処理します。

ユースケース

  • Javaのバックエンドやバッチ処理でWebページからデータをスクレイピングする。
  • ユーザー投稿のリッチテキストを保存または表示する前にサニタイズする。
  • HTMLテンプレートや生成コンテンツをプログラムから編集、書き換える。
  • テストやツールでHTMLドキュメントからリンク、見出し、メタデータを抽出する。

クイックスタート

  1. 1

    Maven のビルドに jsoup の依存関係を追加する

    <dependency> <!-- jsoup HTML parser library @ https://jsoup.org/ --> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.23.2</version> </dependency>
  2. 2

    または、Gradle のビルドに jsoup の依存関係を追加する

    implementation 'org.jsoup:jsoup:1.23.1'
  3. 3

    クックブックの導入を読み、ドキュメントの解析を始める

使う前に知っておきたいこと

  • Java ライブラリのみのため、JVM と Java の開発者が必要です。

トピック

#java#html-parser#web-scraping#css-selectors#xpath#xss-prevention#dom#html-sanitizer#css#html

よくある質問

jsoup とは?
DOMメソッド、CSSセレクター、XPathを使って実際のHTMLを解析、スクレイピング、編集、サニタイズできるJavaライブラリ。 jsoupは、Web上のHTMLやXMLを扱うためのJavaライブラリです。URLからページを取得したり、ファイルや文字列から解析したりして、WHATWG HTML5仕様に準拠したDOMツリーを構築します。そのため、生成される構造は最新のブラウザーが作るものと一致します。タグスープと呼ばれることもある不正なマークアップや乱雑なマークアップも、妥当なツリーとして解析できます。
jsoup は無料で使えますか?ライセンスは?
jsoup は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
jsoup は今もメンテナンスされていますか?
活発にメンテナンス中。jsoup の最終コミットは 2026年11月4日 です。
jsoup は何に使えますか?
Javaのバックエンドやバッチ処理でWebページからデータをスクレイピングする。 ユーザー投稿のリッチテキストを保存または表示する前にサニタイズする。 HTMLテンプレートや生成コンテンツをプログラムから編集、書き換える。 テストやツールでHTMLドキュメントからリンク、見出し、メタデータを抽出する。
jsoup のインストール方法は?
Maven のビルドに jsoup の依存関係を追加する: <dependency> <!-- jsoup HTML parser library @ https://jsoup.org/ --> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.23.2</version> </dependency> または、Gradle のビルドに jsoup の依存関係を追加する: implementation 'org.jsoup:jsoup:1.23.1' クックブックの導入を読み、ドキュメントの解析を始める
jsoup はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/jhy/jsoup

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト