サーバーやブラウザーでHTML・XMLを解析、操作できる高速なjQuery風ライブラリ。
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
Maven のビルドに jsoup の依存関係を追加する
<dependency> <!-- jsoup HTML parser library @ https://jsoup.org/ --> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.23.2</version> </dependency> - 2
または、Gradle のビルドに jsoup の依存関係を追加する
implementation 'org.jsoup:jsoup:1.23.1' - 3
クックブックの導入を読み、ドキュメントの解析を始める
使う前に知っておきたいこと
- Java ライブラリのみのため、JVM と Java の開発者が必要です。
トピック
よくある質問
- 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 の数値は毎日更新されます。
関連プロジェクト
XMLを要素ツリーとして解析・検索・変更・出力できる軽量な純Goパッケージ。XPath風のパス検索にも対応。
Node.jsでヘッドレスDOM環境を実現する、WHATWG DOMおよびHTML標準の純粋なJavaScript実装。
HTML文字列をReact要素に変換するパーサー。Node.jsとブラウザーの両方で動作します。
宣言的なWebコンポーネントを、DOMを効率よく直接更新するJavaScriptに変換するコンパイラです。
Virtual DOMを基盤とする、React互換のモダンなコンポーネントAPIを備えた高速な約4kBのUIライブラリ。