2011年10月10日月曜日

groovyとjsoupでセレクタを使用して要素を取得する

groovyとjsoupでセレクタを使用して要素を取得するには、以下のコードのようにSelector.selectを使用します。
@Grab(group='org.jsoup', module='jsoup', version='1.6.1')
import org.jsoup.*
import org.jsoup.select.*
html = """
<html>
  <head><title>test</title></head>
  <body>
    <p id="introduction">sample page.</p>
    <p class="description">説明</p>
  </body>
</html>
"""

// 文字列からdocumentに変換
document = Jsoup.parse(html)
// selectorを使用してIDによって要素を取得
for(elem in Selector.select("p#introduction", document)){
  println(elem.text())
}
// selectorを使用してクラスによって要素を取得
for(elem in Selector.select("p.description", document)){
  println(elem.text())
}

動作環境
groovy 1.8.2, JDK6 Update27, jsoup 1.6.1

0 件のコメント:

コメントを投稿