インターネットは私たちの生活を豊かにしました。何か調べたい情報があるとき、一昔前なら、図書館や書店に行って必要な情報が書かれている本を探す、あるいは過去の事実なら新聞を探すなどの方法しかありませんでした。しかし、現在ではスマートフォン一つで必要な情報にアクセスできます。
ところで、検索したい情報があるときは、通常Googleなどの検索エンジンを使うでしょう。検索エンジンとは一体どのような仕組みになっているのでしょうか?
この記事では検索エンジンの基本であるWebクローラーについて解説しています。
Webクローラーとは?
Webクローラーの概要
インターネット上にはさまざまな情報やファイルがあります。そういったものを見つけ出してくれるのがWebクローラーです。たとえば、あなたが何らかの言葉を検索したとき、Googleなどの検索エンジンはインターネット上のあらゆる場所から、あなたが探そうしている情報がないか検索します。これをWebクローラーといいます。
図書館や書店に行ったとき、何列も並んだ書棚に多くの本があると、目的の本がどこにあるかわからないでしょう。もちろん、ジャンル別に並んでいますが、それでも探す手間がかかります。そんなとき、あなたに代わってすべての書棚を見て探してくれるロボットがいたら便利だと思いませんか?Webクローラーも本質的には同じことをします。
Webクローラーロボットの概要
インターネット上にはさまざまな情報があります。これを書棚に本を収納するように整理するのがWebクローラーロボットです。Webクローラーロボットは既知のページ内にあるハイパーリンクをたどり、さらに別のページへとハイパーリンクをたどっていきます。そのようにして必要な情報が適切にインデックスされているのか判断します。
インデックスとは、公開済みのWebページが検索エンジンのデータベースに格納された後、検索エンジンに表示される状態をいいます(検索順位は別として)。
Webクローラーの仕組みとは?
Webクローラーがする仕事
インターネット上には膨大な数の情報があり、日々新しい情報が追加されています。そのため、ある時点でWebクローラーが必要な情報を探しても、その後も定期的に同じ作業をしないといけないのです。
クロールの進め方は前述の通り、既知のページからハイパーリンクをたどってほかのページに行きます。しかし、インターネット上にはさまざまなページがあるため、どのような順番でたどれば効率よく探せるか、ルールに従ってクロールを進めていきます。この作業が終わるとインデックスされた状態になるのです。
また、Webクローラーは「robots.txt」というファイルを使用します。これはクロールすべきページとそうでないものを区別するために使われるものです。Webサイト運営者はどのようなサイト(ページ)を作ればクローラーに認知されるか予想しながらサイトを作れば(その予想が当たれば)、検索画面で上位表示させられるのです。
ただし、一口に検索エンジンといってもGoogle以外にもさまざまなものがあります。検索エンジンごとにWebクローラーの仕様は多少異なるかもしれませんが、本質的には同じ仕事をします。
クローリングとスクレイピングの違い
クローリングとは前述の通り、インターネット上から必要な情報を探して整理することをいいます。しかし、その時点の情報のままだと、タイトルや見出し、本文などあらゆる情報があります。そこからタイトルや見出し情報を抜き取ることをスクレイピングといいます。
スクレイピングはクローリングとセットで考えられ、「クローリング・スクレイピング」と呼ばれることもあります。これをするメリットとして、業務効率の改善やデータ収集の効率化といった点が挙げられます。
Webクローラーの種類とそれぞれの特徴
クローラーには大きくわけて三つの種類があります。それぞれ特徴を解説します。
検索エンジン用クローラー
これまでの説明の通り、インターネット上を巡回して必要な情報を収集し、インデックスしていくのが検索エンジン用クローラーです。検索エンジンごとにクローラーがあり、代表的なクローラーはGoogleの「Googlebot」や、Microsoftの「Bingbot」です。これらを含むさまざまなクローラーを以下に示します。(左=検索エンジン名:右=クローラー名)
- Google:Googlebot
- Microsoft:Bingbot
- Yahoo!:Yahoo Slurp
- 百度:Baiduspider
- Naver:Yetibot
- Yandex:Yandex Bot
- DuckDuckGo:DuckDuckBot
検索エンジン用クローラーのシェアは国によって異なりますが、日本国内では使われる検索エンジンのほとんどはGoogle検索エンジンです。
Webクローラーツール
Webクローラーツールとは、インターネット上からのデータ収集を自動化するものです。定期的にクロールを使って情報を取得するだけでなく、特定の情報のみを複数のWebサイトから取得して分析させるようなことも可能です。これまで人が行っていた作業を省力化できるため、人は、人にしかできない仕事に集中できるのです。
中には「Octoparse」(オクトパス)のように、ノーコードで使えるWebクローラーツールもあります。データ収集のスケジュールを決められたり、あらかじめワークフローが設定されているテンプレートが数多く用意されているため、興味のある方は一度使ってみてください。
SEO対策クローラー
SEO対策クローラーとは、ある特定のWebサイトがSEOの観点からどのようなポテンシャルを持っているか認識するためのものです。たとえば、Google Search Consoleを使うと、そのWebサイトのどの部分に検索エンジン用クローラーが訪れているのか確認できます。
Webクローラーは違法?
Webクローラーの技術に関して、法律は規制が追いついていないといわれている部分があり、適法か違法かの明確な線引きは難しいです。しかし、最低限次の点には気を付けましょう。
- クローリング対象のWebサイトの利用規約に違反しない
- 著作権を侵害しない
- クローリング対象のWebサイトのサーバーに負荷をかけすぎない
一つ目はWebクローラーにかかわらず当然のことです。
二つ目については著作権への理解が必要です。この世にある著作物には必ず著作権があり、著作物が誕生した時点で制作者が著作権者となります。つまり、次の三つの場合を除き、この世にある著作物はすべて他人が著作権を持っていると考えましょう。
- 自ら作成したもの
- 著作権を譲り受けたもの(有償・無償にかかわらず)
- 著作権者が「著作権フリー」と謳っているもの
また、サーバーに負荷をかけすぎたために、偽計業務妨害容疑で逮捕者が出た事件もあります(※1)。トラブルや犯罪は「知らなかった」では済まされません。自らやろうとしていることが問題ないかどうか、事前に確認しましょう。
※1:日本図書館協会「岡崎市の図書館システムをめぐる事件について」
まとめ
この記事ではWebクローラーの仕組みや種類、そして法律に関して解説しました。インターネット検索は非常に便利なものですが、その裏でどのような仕事がなされているのか知るのも楽しいものです。
このような業界で働いている方はもちろん、一般の方も勉強することで、よりインターネットというものを理解できるでしょう。