クローリングとは?Webスクレイピングとは?

 
「クローリングとは何?スクレイピングとは何?」という方向けに
クローリングとスクレイピングについて解説します。

クローリングとは?

クローリングとは、複数のウェブサイトのリンクをなぞってウェブページを探すことです。
クローリングを行うプログラムを「クローラー」とよびます。
 
例えば、検索エンジンGoogleも複数のウェブサイトをGoogleのクローラーが巡回して情報を集めています。
 
インデックスとは、ウェブサイトを収集した情報をデータベースに格納することを言います。
 そして、インデックスしたデータをGoogleの検索結果に表示しています。

スクレイピングとは?

スクレイピングとはウェブサイトのHTMLから必要なデータを取得することです。
スクレイピングは大まかには次の手順で行います。
 
1. サイトをクローリングする。
2. クローリングしたHTMLからタイトルや記事の本文をスクレイピングする。
3. スクレイピングしたタイトルや記事の本文をテキストを解析し整形する

スクレイピングする方法

スクレイピングの方法は大きく分けて以下の2つ別れます。
  • スクレイピングツールを使う方法
  • スクレイピングプログラム開発

スクレイピングツールを使う方法

スクレイピングツールを使えば、プログラミングができなくてもGUIアプリケーションの操作でスクレイピングが行えます。
スクレイピングツールは海外製のツールが充実しています。

スクレイピングツールをプログラミングする方法

Python、Java、PHP、JavaScript、Ruby、VBAなど、その言語でもスクレイピングはできますが、
この中でも最もスクレイピングに適したプログラミング言語はPythonです
 
なぜなら、Pythonにはスクレピングに適したライブラリが多数揃っているためです。
ライブラリとは特定の機能を持つプログラミングの部品のようなものです。
コードの中にスクレイピングのライブラリを読み込ませコードを書きます。
 
ライブラリを使うことにより全くの1からコードを書く必要がなく、効率的にコーディングできます。
 ライブラリにはPython標準で備わっているものもあります。本格的なクローラーを開発するには、Scrapyを使います。
 

Pythonクローリング・スクレイピングの本

ネット上にも色々な情報がありますが、体系的に網羅的に学びたいなら断然本がおすすめです。
ネットだとどうしても、断片的な情報や説明不足の記事が少なくありません。

Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド-

Pythonクローリング、スクレイピングについて学習したいなら、おすすめしたいのがこちらの一冊。

最初は、Pythonのインストール方法やプログラミングを使わずwgetを使った基本的なスクレイピングな方法から説明されています。

Pythonコードのサンプルとサイトのサンプルを交えながら、詳しく丁寧に解説されています。
Pythonクローリング、スクレイピングの決定版と言える本です。