HTMLパーサー Jsoup
JavaでのHTMLパーサーは色々と種類があります。今回、AndroidアプリでHTMLをパースする必要があり
一番お手頃で使い勝手の良い、Jsoupを使ってみました。簡単な使用方法をまとめておきます。
環境はAndroidStuid利用での前提とします。
セットアップ
build.gradleファイルProject用とModuke用があります。Module用を修正します。
dependenciesにJsoupの依存関係を追加します。同期をとります。
apply plugin: 'com.android.application'
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "com.example.wataru.myapplication"
minSdkVersion 19
targetSdkVersion 21
versionCode 1
versionName "1.0" }
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
compile 'org.jsoup:jsoup:1.7.3'
}
}
使ってみる
サンプルとしてあるHTMLページの画像(IMGタグ)の画像ファイル(src)属性の内容をすべて出力する処理は以下のようになります。
Document doc = Jsoup.connect(baseurl).get();
Elements imgs = doc.select("img");
for(Element elm : imgs ){
Log.d("SRC", elm.attr("src"));
}
使い勝手がよく効率よくパースする処理が書けそうです。他にも便利なメソッドがありそうですので詳細はJsoupのサイト http://jsoup.org/ へ