スクレイピングとはウェブサイトなどのほしいデータを抽出して利用することをいいます。
最近では大手サイトでは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();