アプリケーションを開発するときに、どこかからあるデータを取得しなければいけないことがある。
その際の手段のひとつにスクレイピングというものがある。
スクレイピングとは
スクレイピングとは、簡単にいうとHTMLを抽出・加工すること
と言える。
英単語のScrape(表面をこする、こすり落とす)から来ているらしい。
ほかのWEBサイトなどから、ある情報を取得したいときなどにこのスクレイピングというものを行うことがある。
スクレイピングをする際に考えるべきこと
ただ、スクレイピングで情報を取得・抽出・加工したいといっても、本当にそれはスクレイピングで実現できるのかをまず判断しなければならない。
そのためには、以下のようなことを調査したり考えなければならない。
- 取得したい情報は、1ページにまとまっているのか?複数ページにあるのか?
- そもそもその取得した情報はどうしたいのか?excelファイルにする、アプリのDBに保存したいとか
多分、ほかにも山ほどある。
クローラーが必要なとき
もし、取得したい情報はあるWEBページの1つのページにまとまっているのであればスクレイピンをして純粋に情報を取得すればいい。しかし、その情報が複数のページにまたがっていたりすると、クローラーを作成する必要がある。
クローラーとは
クローラーとはWebページのリンクをたどって複数のWebサイトを巡回しページの情報をデータベースに複製・登録するプログラムのこと。このプログラムを動かすことをクローリングと呼んだりする。
クローラーでできること
基本的には、僕たち人間がWEBページ、WEbアプリケーションを操作することと同じようなことができるというのがイメージしやすいと思う。例えば、「このリンクをクリックして、このカテゴリーのページに飛んで、病院の情報を取得する」というようなことがクローラーで実現することができる。
うえの例でいくと、病院の情報を取得する
ということはスクレイピングで実現できる。
このリンクをクリックして、このカテゴリーのページに飛んでというようにカテゴリーごとの情報を取得したい
そんな時には、クローラーのプログラムを組む必要がでてくる。