Webページは HTML (HyperText Markup Language) の仕様に基づき記述されている HTML 文書 (HTML document) である。タグにより文書構造がマークアップされている。
Webページから情報を抽出する際、抽出箇所を文書構造により特定したい場合や、単にタグを除去してテキスト部分を得たい場合がある。
これらの処理は、文字列操作により実現することもできるが、 HTML文書の構造を解析して木構造を生成する HTMLパーサ を利用するのが適切である。
import javax.swing.text.*; import javax.swing.text.html.*; Reader reader; // 適当に生成されているものとする EditorKit kit = new HTMLEditorKit(); Document doc = kit.createDefaultDocument(); try { kit.read(reader, doc, 0); ElementIterator it = new ElementIterator(doc); Element elem; while ((elem = it.next()) != null) { System.out.print( "Element " + elem.getName() + "(" + elem.getStartOffset() + "-" + elem.getEndOffset() + ")"); } } catch (Exception e) { e.printStackTrace(); }