オープンソースコラム


2010/09/11 20:31Update

jsoup - jQuery風HTMLを解析・操作するJavaライブラリ

TAGS: jsoup | HTML | パーサー | 解析 | parser

スポンサード リンク


jsoupは、HTMLを解析するJavaライブラリで、DOMやCSS、jQuery-likeのメソッドでHTMLコンテンツを操ることができます。                                     

※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ドキュメント

Sponsored Link