読者です 読者をやめる 読者になる 読者になる

【Android】JSONPでWEBサイトをスクレイピング

Android

 

JSOPを使えば、

みなさんに馴染みのあるDOM操作がAndroidでできます。

 

WEBサイトへのHTPP通信などは過去記事にあります

stanleyblenz.hatenablog.com

 

--------------------------------------------------------------------------------------------------

まずはライブラリを取得

build.gradle
dependencies {
  compile 'org.jsoup:jsoup:1.10.1'
}

 

JSONPを使います

Request request = new Request.Builder().url(url).build();
OkHttpClient client = new OkHttpClient();
Response response = client.newCall(request).execute();
String result = response.body().string();

以下からがJSONP

Document doc = Jsoup.parse(result);        ※JSONPにパース
Element hoge = doc.getElementById("hoge");     ※idのエレメント取得
Elements elements = doc.select("[name=HOGE]");  ※name=HOGEのエレメント取得
Elements p = doc.select("p");           ※pタグを取得
Elements elements = doc.select(".post-title");            ※.post-titleクラスを取得
for (Element element : elements) {
  String title = element.text();
  for (Attribute attr : element.attributes()) {
    if ("href".equals(attr.getKey())) { ★hrefの場合
      url = attr.getValue();
    }
  }
}

 

JavaScriptでふだんやっているようなことがAndroidでできました!

らくちんです。

あたらしく覚えることはほんとんどないですね。

直観的にできます。

 

これからどんどんWEBスクレイピングできますね!