スクレイピングとはウェブサイトなどのほしいデータを抽出して利用することをいいます。
最近では大手サイトではAPIが提供されていますが、スクレイピングを必要とする場面はまだまだ多いです。
スクレイピングの流れ
大きく分けて以下3過程になります- 接続
- 取得
- 解析
HTML解析はフリーから有料のものまで検索をかけると様々ありますが。
今回は簡易的なものを自作をしていきます。
この投稿では取得したサイトのHTMLソースの表示まで行います。
接続
1.URLオブジェクトの生成URL url = new URL("任意のURL");
2.接続オブジェクトの取得
HttpURLConnection httpoc = (HttpURLConnection)url.openConnection();
3.接続
httpoc.connect();
接続はこれで完了です。
ここでは接続オブジェクトの取得後、HTTPメソッド、ヘッダを指定して接続できます。
接続切断はdisconnect()で行います。
取得
入力ストリームを取得、表示BufferedReader bstr = new BufferedReader(new InputStreamReader(httpoc.getInputStream()));
String str;
while ( (str=bstr.readLine())!= null ){
System.out.println(str);
}
bstr.close();
バッファリングすることで、入力ストリームから効率良く読み込んでいきます。以上で取得、表示は完了です。
次回はParserCallbackを利用した簡易なHTML解析を行います。
サンプルソース
URL url = new URL("");
HttpURLConnection httpoc = (HttpURLConnection)url.openConnection();
httpoc.connect();
BufferedReader bstr = new BufferedReader(new InputStreamReader(httpoc.getInputStream()));
String str;
while ( (str=bstr.readLine())!= null ){
System.out.println(str);
}
bstr.close();
httpoc.disconnect();