Webクローラーというと、どんどん自動でリンクを辿ってHTMLページを収集してくれるものと思っている方が多いのですが、ビジネスという観点から考えると半分は正解で半分は不正解です。リンクからどんどん辿っていくことは、当然ですができます。しかし、問題は「辿るべきかどうか」という点です。インターネット上から情報を集めて、何かに活用したいと思った時、プロジェクトオーナーが思い描くのは有益な情報がたくさん手に入った姿のはずです。しかし、何も考えずにWebクローラーで収集してみると、ほとんどが役に立たない情報であり、有益な情報はごく僅かということも少なくありません。まあ、これはこれで仕方ないとすることもできますが、この状態になるとさらに別のシステムが必要になります。膨大なゴミの中から宝を探す作業というのはとても大変だからです。本当は、何かの効率化を考えていたはずなのに、余計な仕事が増えていくというのはプロジェクトを担当する人としては不本意なはずです。ここではWebクローラーが”辿るべきリンク”を判断するための、いくつかの方法をご紹介していきます。
サイトのジャンルを判断してサイト全体の情報が目的に合致しているものかどうかを判断し、その後にWebクローラーで収集を行う
Webクローラーがリンク単位で判断をしていくと、非常に時間がかかるので、ざっくり対応で効率的に判断させる方法があります。その方法とは、サイトをジャンルで判断して収集するかどうかを判断していくというものす。特定の業界の情報を収集したいのであれば、その業界に関連するサイトかどうかを判断して、その後に、全ページを収集しに行きます。この時、判断するために全ページを収集してしまっては効率化にはなりませんので、トップページだけを収集し、その内容だけで判断していくことで収集量、余計なデータの蓄積を防ぎます。ただ、この方法の問題としては質の高い大手企業などのサイトを除くと、抜け漏れが出やすいというものがあります。質の高いホームページであれば、トップページ上にはしっかりとサイト全体を判断するための情報が盛り込まれています。ナビゲーションにでてくる項目の名称や、その他の説明文などから、どういった業種の、どういったサイトなのかをかなりの確率で判定させることができます。しかし、少し稚拙なサイトなどになるとトップページにあるのはロゴとメインの大きな画像だけで、特徴を抽出するポイントが存在しない場合などがあります。こうした場合は、イレギュラーなものとして不適切と判断しWebクローラーの収集対象から外す処理にするのか、それともわからないからすべてのページを収集するのか、仕様を決める必要があります。情報量が少ないサイトに対してだけでいうと、精度を担保し、かつ効率的な状態を保つことはできないわけです。しっかりとしたサイトを相手にすると強いが、情報量が乏しいサイトに対しては弱い判定方法といえます。
HTMLの中でリンクに使われているテキストや画像のaltを解釈して、リンク先のページが有益なものかどうかを判断して収集すべきかどうかを判断する
次の方法はサイト単位ではなく、リンク単位で判断していくという方法です。多くのサイトでは、リンクは、リンク先のページの内容を説明するテキストが記載されています。たとえば企業のホームページであれば「会社概要」「お問い合わせ」「サービス」といったような表記がナビゲーションに存在し、これらのリンク先にはリンクに使われているテキストの意味を踏まえたHTMLページが存在することになります。これを上手に使って、すべての企業の会社概要ページだけを集めるといったようなことも可能です。業界などの分類よりも、特定の目的のページなどを適切に抽出するのに向いている手法です。しかし、この方法にももちろん問題はあります。それは不適切なリンクが大量にあるということです。たとえば「こちら」というリンクであったり、画像にリンクをつけられているがaltに説明文章が入っていなかったりすると、そのリンクの先のページがどういったHTMLページなのかを適切に判断することはできません。Webの標準的なルールをしっかりと守っているサイトに対しては、かなりの精度を保てますが、乱暴な作りのサイトでは見落としや判定ミスがどうしてもでてしまうことがあります。
一番シンプルな”指定したドメイン内のHTMLページだけを収集する”という方法もあり。でも、収集サイトリストの更新をどうするかは検討する必要あり
適切な情報を収集するための方法として、最もシンプルなのが指定したドメイン内のHTMLページだけを収集するとううものです。つまりサイトを指定して、そのサイトの中身だけを集めていくというものです。指定サイトは、人が有益なサイトと判断したものだけになりますので、無駄なサイトの情報を収集するリスクは大幅に減らすことができます。この方法の一番の問題は、収集するサイトリストの更新をどうするかです。インターネット上には常に新しいサイトがでてきますし、一定の割合のサイトはなくなっていきます。そのため、収集サイトリストの更新を行う必要があるのですが、変化が激しい業界などではこの作業が以外に大変です。変化が乏しい、もしくは対象としているサイトが厳密で変更の必要がない場合は気にする必要はありませんが、この業界の企業全部のリストを作りたいという場合などは、新しいサイト、なくなっていくサイトに対する検討は行う必要があります。
今回、ここで紹介したのはWebクローラーを効率的に稼働させるための手法のごく一部ですが、収集の方法にはいくつかあり、それぞれメリット、デメリットがあることをご理解いただけると思います。費用対効果の良い、Webクローラーの導入のためには、効率的な稼働は欠かすことができない重要な検討ポイントのひとつです。しっかりと考えてプロジェクトにあった方法を採用していってください。