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/ へ