jsoup - jQuery風HTMLを解析・操作するJavaライブラリ
jsoupは、HTMLを解析するJavaライブラリで、DOMやCSS、jQuery-likeのメソッドでHTMLコンテンツを操ることができます。
※HTMLコンテンツ:URLやファイル、String
例:
■要素の検索
* getElementById(String id)
* getElementsByTag(String tag)
* getElementsByClass(String className)
* getElementsByAttribute(String key) (and related methods)
* Element siblings: siblingElements(), firstElementSibling(), lastElementSibling(); nextElementSibling(), previousElementSibling()
* Graph: parent(), children(), child(int index)
■要素データ
* attr(String key):要素の属性値を取得
* attr(String key, String value):要素の属性に値を設定
* attributes():要素のすべての属性を取得
* id(), className(), classNames()
* text():テキストコンテンツ取得
* text(String value):テキストを設定
* html():inner HTMLコンテンツ
* html(String value) inner HTMLコンテンツを設定
* outerHtml():outer HTML を取得
* data():scriptとstyleタグのデータコンテンツを取得
* tag() & tagName()
■HTML&テキスト操作関連
* append(String html), prepend(String html)
* appendText(String text), prependText(String text)
* appendElement(String tagName), prependElement(String tagName)
* html(String value)
jsoup使い方
APIドキュメント
※HTMLコンテンツ:URLやファイル、String
例:
File input = new File("/tmp/input.html");
Document doc = Jsoup.parse(input, "UTF-8", "http://example.com/");
Element content = doc.getElementById("content");
Elements links = content.getElementsByTag("a");
for (Element link : links) {
String linkHref = link.attr("href");
String linkText = link.text();
}
■要素の検索
* getElementById(String id)
* getElementsByTag(String tag)
* getElementsByClass(String className)
* getElementsByAttribute(String key) (and related methods)
* Element siblings: siblingElements(), firstElementSibling(), lastElementSibling(); nextElementSibling(), previousElementSibling()
* Graph: parent(), children(), child(int index)
■要素データ
* attr(String key):要素の属性値を取得
* attr(String key, String value):要素の属性に値を設定
* attributes():要素のすべての属性を取得
* id(), className(), classNames()
* text():テキストコンテンツ取得
* text(String value):テキストを設定
* html():inner HTMLコンテンツ
* html(String value) inner HTMLコンテンツを設定
* outerHtml():outer HTML を取得
* data():scriptとstyleタグのデータコンテンツを取得
* tag() & tagName()
■HTML&テキスト操作関連
* append(String html), prepend(String html)
* appendText(String text), prependText(String text)
* appendElement(String tagName), prependElement(String tagName)
* html(String value)
参考資料
jsoup使い方
APIドキュメント