HTMLパーサ
HTMLパーサ&ルールの使い方
このページでは、HTMLパーサ&ルールを用いたHTML文書からのデータ抽出を説明します。 本ソフトウェアのダウンロード、インストールに関しては、「HTMLパーサ&ルール」をご覧ください。
簡単スタートアップ
- 「対象URL」に解析したいHTMLページのURLまたはローカルパスを入れる
- 「3. 解析ルール」タブを開き、「新規ルール追加」ボタンを押す
- 「パス」を空欄、「種類」をリンク、「パターン」を空欄にし、「追加」ボタンを押す
- 「解析実行」ボタンを押す
1. 「対象URL」に解析したいHTMLページのURLまたはローカルパスを入れる
![]() |
![]() |
2. 「3. 解析ルール」タブを開き、「新規ルール追加」ボタンを押す

3. 「パス」を空欄、「種類」をリンク、「パターン」を空欄にし、「追加」ボタンを押す

4. 「解析実行」ボタンを押す

解析ルールの項目について
パス
任意のHTML要素の位置を、階層構造であらわしたものです。
要素の添え字は<n>、パスの区切りは_であらわします。
java.util.regex.Pattern
における正規表現を用いて、一致するパターンを指定できます。
本アプリケーションでは<html>、<div>、<table>など、
特定のHTML要素に限定して階層抽出を行っているため、
そのほかのHTML要素は無視されています。
![]() |
![]() |
種類
取得するデータの種類をあらわします。テキスト、リンク、画像の3種類があります。
パターン
取得するデータの文字列パターンを正規表現であらわしたものです。 パスで対象ノードを特定できない場合に使います。
適用方法
繰り返し:最後のノードに到達するまで解析を続けます
1回のみ:末尾のルールが任意ノードに一致した時点で解析を終了します
HTMLパスの指定方法
HTMLタグの階層をあらわすパスは、要素の区切り文字に「_」、添え字に<n>を用います。 ここでは具体例として、下記のHTML文書を考えます。
<html><body>[A]
<table><tr>
<td>[B]</td>
<td>[C]</td>
</tr></table>
[D]</body></html>
A点からD点におけるパスは、下表のようになります。
| 点 | パス |
|---|---|
| [A] | HTML<0>_BODY<0> |
| [B] | HTML<0>_BODY<0>_TABLE<0>_TR<0>_TD<0> |
| [C] | HTML<0>_BODY<0>_TABLE<0>_TR<0>_TD<1> |
| [D] | HTML<0>_BODY<0> |
パスに正規表現を用いると、複数の点を一括して指定することができます。 また、通常はHTML文書の先頭要素から指定しなければならないところを、省略することができます。
| 点 | パス |
|---|---|
| [B]、[C] | HTML<0>_BODY<0>_TABLE<0>_TR<0>_TD<\d+> |
| .*TABLE<0>_TR<0>_TD<\d+> |
正規表現を用いない場合でも、文書構造によっては複数の点をあらわすことがあります。 上記の例では、A点、D点は同じパスで表現されます。
| 点 | パス |
|---|---|
| [A]、[D] | HTML<0>_BODY<0> |
もし、上記の例でA点、B点双方にテキストデータが現れる場合、 パスのみの条件で片方のデータを取り出すことはできなくなります。 このような場合は、パターン条件に出現テキストの条件を設定し、 抽出データを特定するようにします。
解析ルールのサンプル
1. 全てのリンクを抽出する
(適用方法:繰り返し)| RNo. | パス | 種類 | パターン |
|---|---|---|---|
| 1 | (空欄) | リンク | (空欄) |
2. 全てのリンクとリンクテキストを抽出する
(適用方法:繰り返し)| RNo. | パス | 種類 | パターン |
|---|---|---|---|
| 1 | (空欄) | リンク | (空欄) |
| 2 | .*A<\d+> | テキスト | (空欄) |
3. テーブルの2番目の行すべてを抽出する
(適用方法:繰り返し)| RNo. | パス | 種類 | パターン |
|---|---|---|---|
| 1 | .*TABLE<\d+>_TR<1>_TD<\d+> | テキスト | (空欄) |
- HTML文書からのデータ抽出
- HTMLパーサ&ルール
- HTMLパーサ&ルールの使い方



