Webクローラーの定義

Webクローラーとは、デジタル検索エンジンのボットで、コピーとメタデータを用いてサイトのページを見つけ、インデックスを付けるものです。スパイダーボットとも呼ばれ、World Wide Webを「クローリングして(這いまわって)」、指定のページが何を扱っているかを学習します(それゆえ「スパイダー」や「クローラー」といいます)。次にページにインデックスを付け、将来の検索用に情報を保存します。

インデックス付けとは、指定のスキーマや構造内のデータを組織化することを指します。それは、検索エンジンがインデックス付きのデータを用いて、関連する検索結果をクエリと一致させるプロセスです。その結果、WebクローラーはWebの閲覧を容易化するツールとなります。

インターネットWebクローラーとエンタープライズWebクローラーには、明確な区別があります。インターネットWebクローラーは、インターネットをクローリングして、新しいサイトを見つけてインデックスを付け、継続的にクローリングの範囲を拡張していきます。エンタープライズWebクローラーは、指定したビジネス用Webサイトをクローリングして、サイトのデータにインデックスを付け、ユーザーがサイトの検索機能を使用してクエリを発した時に、情報を見つけられるようにします。特定の検索を自動化するビジネスツールとしても使用されます。

Webクローリングはどのように作動しますか?

Webクローリングは、新しいページを見つけ、それにインデックスを付け、次いで将来の使用のためにその情報を保存して作動します。指定した間隔で継続的に対象となるコンテンツをクローリングし、検索結果を更新して、検索で見つけやすい状態に保ちます。

ページの発見と取得
できるだけ多くのオンラインサイトやページから情報を集めるために、Webクローラーはぺージのリンク間を動き回ります。

Webクローラーは既知のURL、またはシードURL(拠点となるURL)から始めて、そのページのリンクから新しいサイトを見つけてアクセスします。この処理を何度も繰り返し、新しいページを探し続けます。オンラインのページは大量にあり、また情報は絶えず更新されるという事実により、この処理はほぼ無限に続けられます。

クローラーが見つけて、将来の発見のために覚えておくリンクは、クロールフロンティアと呼ばれるものを創り上げます。これらのハイパーリンクは、一連のポリシーやクローリング規則で決定される順序で閲覧されます。ポリシーには選択ポリシー、再訪問ポリシー、礼儀ポリシー、並列化ポリシーなどがあります。

Webクローラーは、特定のページにリンクされているURLの数と、特定のページの閲覧数を考慮します。それらはすべて重要なコンテンツを見つけてインデックスを付けるための作業です。閲覧され、引用されることが多いページには、信頼できる高品質な情報が含まれていると考えられるからです。よって検索エンジンにとっては、サイトを知り、それを見つけやすくする能力を持つことが重要となります。

ページのレンダリング、ダウンロード、インデックス化
クローラーボットが新しいページを見つけると、そこにある情報をレンダリングし、それがサイトのコピーかメタタグであれば、その情報をダウンロードしインデックスを付けます。Webクローラーの中には、公共のページにアクセスし読み取るだけものがありますが、その他のものは認証済みのページにインデックスを付ける許可を持っています。またWebクローラーは、robots.txtファイルと、非インデックス(インデックスを付けない)メタタグ要件もチェックします。robots.txtファイルは、オンラインページのための規則集で、ボットがどのリンクをフォローでき、どの情報にインデックスを付けられるかを規定します。非インデックスメタタグは、インデックス付けしないメタタグを判別します。

洗い出しと繰り返し
Webクローラーの目的は、特定のサイトに関する情報にインデックスを付けダウンロードすることです。クローラーは、常にクロールフロンティアを拡大していて、新しいサイト、ページ、更新を探しています。その結果、検索エンジンのインデックス付きデータは増え続けます。

スパイダーボットの助けを借りて、検索エンジンアルゴリズムは、クローラーが作成したインデックスを並び変え、クエリを受けたときに結果を取り出してランク付けします。

Elastic web crawler for use in creating flexible search capability for web properties

Webクローリングが重要なのはなぜですか?

Webクローリングは、検索エンジンの機能性の鍵となるため、ビジネスにとって重要となります。検索エンジンは、それによって情報のインデックス付けを行い、どのようなサイトやページが存在しているのかを知り、それがクエリに関連する場合にその情報を参照できるのです。

発見可能性
Webクローリングは、SEOと検索戦略を成功に導く手段の一部で、その理由のひとつは、それによってビジネスウェブサイトとビジネス情報を目につきやすくできるからです。最初のクローリングがなければ、検索エンジンはあなたのサイトやウェブサイトデータの存在を知ることができません。あなたのサイトの内部クローリングもまた、サイトのデータの管理に役立ち、更新を続けて関連性を保ち、クエリを受けた時に正しい情報を見つけられるようにして、その結果適切なオーディエンスに到達することができるのです。

ユーザー満足度
エンタープライズWebクローラーの使用もまた、あなたのビジネスウェブサイトの検索機能の鍵となります。クローリングにより、余計な手間をかけずにサイトデータにインデックスを付けられるため、ユーザーにシームレスな検索体験を提供でき、ユーザーがお客様になる可能性が高まります。

自動化と時短化
Webクローラーは、データ取得を自動化し、内部的にも外部的にもクローリングして、あなたのウェブサイトへの関与を高めるようにします。これにより、コンテンツの作成に集中できるようになり、必要な場合に戦略の変更を行えます。つまり、Webクローリングと、あなたのサイトのクローリング性は、ビジネスの成功にとって重要だということです。

Webクローラーの重要なコンポーネント

Webクローラーは、必要不可欠な検索エンジンツールで、特定のコンポーネントは機密情報だと見なされています。Webクローラーは検索サービスの差別化に貢献し、検索体験を明確に規定します。例えばGoogleでの体験はYandexやBingの体験とは異なります。さらに、あなたのウェブサイトでの検索体験は、あなたの検索結果に表示される情報がどれほど最新で、正確で、関連性があるのかに応じて、競合他社の検索体験とは異なります。

したがって、インターネットかエンタープライズのクローラーボットなど、Webクローラーによってその作動も異なりますが、標準的なアーキテクチャは共通でよく似た機能を持ちます。いずれもシードURLを入力として受け取ります。そこから、クロールボットがまだ閲覧していないURLのリストから成るクロールフロンティアに沿って、より多くのURLにアクセスします。

礼儀ポリシー(ボットがインデックス付けできるもの)や再訪問ポリシー(クロールできる頻度)などの一連のポリシーやクロール規則に基づいて、クローラーは新しいURLの閲覧を続けます。

そこから、URLの情報をレンダリングし、高速でダウンロードし、インデックスを付けて、将来の使用のためにエンジンに保管する機能を持っていなければなりません。

インターネットクローラーは、ウェブ全体の幅広い検索を可能にしますが、エンタープライズWebクローラーはあなたのサイトのコンテンツを検索で見つかりやすくします。クローラーの機能には以下のようなものがあります。

  • クロール活動の完全な可視化により、クロールの成果を追跡可能
  • プログラム可能、柔軟なAPIによりボットを制御可能
  • 使いやすいユーザーインターフェイス

Webクローラーの種類

Webクローラーはプログラム可能で、さまざまなタスクを実行できます。そのため、さまざまな種類のWebクローラーがあります。

集中型Webクローラー:集中型(Forcused)Webクローラーの目的は、単一のトピックに関連するコンテンツや、1種類の分野に限るコンテンツといった、あるパラメータに集中したコンテンツをクロールすることです。これを行うために、集中型Webクローラーは、確率に基づいてどのハイパーリンクをフォローするかを見極めます。

増分Webクローラー:増分(Incremental)Webクローラーは、クローラーボットの1種で、インデックスの更新のためにページを再度閲覧します。必要があれば、古いリンクを新しいURLに置き換えます。このプロセスは、一貫性のない文書のダウンロードを減らす働きをします。

分散型クローラー:分散型(Distributed)クローラーは、さまざまなウェブサイトに同時に作動して、クローリングの使命を果たします。

並列クローラー:並列(parallel)クローラーは、クロールボットの1種で、複数のプロセスを同時に、あるいは並列に実行し、ダウンロードの効率性を高めます。

よく知られている検索エンジンボット

一番よく知られているクローラーボットは、インターネット検索エンジンボットです。それには以下のものがあります。

  • BingBot:Bingのクローラーボット
  • GoogleBot:モバイルプラットフォーム用とデスクトップ用の2基のボットで構成
  • DuckDuckBot:DuckDuckGoのボット
  • Slurp:Yahoo Searchのボット
  • YandexBot:Yandexのボット
  • Baiduspider:Baiduの検索エンジンボット

Elasticsearchのクローラーボットを探求しましょう

Webクローリングの利点

検索エンジンが使用するWebクローリングは、ユーザーフレンドリーな検索体験を提供しますが、ビジネスユーザーはWebクローリングから多くの点でメリットを得ます。

ビジネスユーザーにとって何よりも大きなWebクローリングのメリットは、サイト、コンテンツ、データを見つけやすくできることで、ビジネスのSEOと検索戦略にとって極めて重要となります。あなたのサイトのクローリングすることは、ご自身の検索体験のためにご自分のウェブサイトにデータをインデックス付けする、最も簡単な方法でもあります。しかも、Webクローリングはバックグラウンドで実行されるため、サイトの性能に影響を与えないという利点もあります。定期的にWebクローリングをすることは、あなたのサイトの性能の管理、検索体験、最適なランク付けの確保にも役立ちます。

他にもWebクローリングには以下のような利点があります。

  • ビルトインのレポート機能:ほとんどのWebクローラーは、アクセス可能なレポート機能や分析機能を持っています。こういったレポートは多くの場合、スプレッドシートやその他の判読可能なフォーマットにエクスポートでき、SEOや検索戦略を管理する有益なツールとなります。
  • クロールパラメータ:サイト管理者として、クロールの頻度の規則を設定できます。スパイダーボットをどれ程の頻度であなたのサイトにクロールさせるかを決定できます。ボットは自動的に動くので、毎回手動でクロール レポートを取得する必要はありません。
  • 自動インデックス化:あなたのサイトにWebクローラーを使用すると、自動的にデータにインデックス付けできます。どのデータがクロールされインデックス付けされるかを制御でき、さらにこのプロセスを自動化できます。
  • リードジェネレーション:クローリングにより市場に関するインサイトを収集し、その中にビジネスチャンスを見出し、競争の先頭に立つことができます。自動検索ツールとして、これがなければ手作業になるかも知れない処理を迅速化します。
  • 監視:Webクローラーは、ソーシャルメディアでのあなたの会社への言及の監視と、応答時間の短縮に役立てることができます。監視に使用する場合、Webクローラーは効果的なPRツールになります。

Webクローリングの課題と制限

Webクローリングの最大の課題は、存在するデータの膨大な量と、それが絶え間なく生成および更新されていることです。クローラーは、継続的にリンクを探していますが、生成されたものすべてを見つける可能性は低いです。これは、次の課題と制限に一部起因しています。

  • 定期的なコンテンツ更新:検索エンジン最適化戦略では、会社が定期的に自社ページのコンテンツを更新することを推奨しています。会社によっては動的ウェブページを使用していますが、これは閲覧者の活用状況に応じてコンテンツを自動的に調整します。定期的にソースコードを変更すると、Webクローラーはインデックスを最新の状態に保つために、煩雑にページを再閲覧することになります。
  • クローラートラップ:時には意図的に、ウェブサイトがクローラートラップを使って、スパイダーボットによる特定のページのクローリングを阻止することがあります。クローラーへのバリケードとして一般的に使用されるのは、robots.txtファイルや非インデックスメタタグです。これらはサイトの特定の部分をクローリングやインデックス付けから保護するためのものですが、時にはクローラーを罠にかけます。これが起こるとボットはクローリングの悪循環に陥り、クローラーのリソースとクロール予算を消費します。
  • 帯域幅制限:多くのページをダウンロードしてインデックス付けする時、Webクローラーは多くのネットワーク容量を消費する可能性があるため、ネットワークの帯域を制限してしまいます。
  • 重複するコンテンツ:重複するコンテンツは、それが機械や人間のエラーのいずれの産物であっても、インデックス付けを不正確にしてしまいます。クローラーが重複するページを閲覧すると、ひとつのページにのみインデックス付けしランク付けします。どちらをダウンロードしてインデックス付けするかの判定はボットには困難で、ビジネスにとっては望む結果が得られなくなります。

WebクローリングとWebスクラッピングの違い

クローリングとスクラッピングの主な違いは、Webクローリングはデータのインデックス付けに使用し、Webスクラッピングはデータの抽出に使用することです。

Webスクラッピングは、Webハーベスティングとも言いますが、一般的にクローリングよりもターゲットを絞っています。小規模でも大規模でも実行でき、サイトからデータやコンテンツを抽出して、市場調査、リード生成、ウェブサイトのテストに使用します。WebクローリングとWebスクラッピングは、時に混同されることがあります。

Webクローラーは、一般的にrobots.txtファイルやURLフロンティアポリシーのような規則に拘束されますが、Webスクレイパーは許可を無視し、コンテンツを不法にダウンロードでき、またその活動が引き起こすであろうサーバ―の過大な負荷を度外視します。

ElasticによるWebクローリング

Elastic Webクローラーは、開発者がWeb サイトのコンテンツを簡単にインデックス化して同期できるようにするElasticsearchツールです。このクローラーは自動的にインデックス付けを行い、管理が簡単で、また設定可能で観察できます。

Elasticの本番環境対応のWebクローラーでは、クロールを自動的に実行するスケジュールを作成し、規則を設定し、認証されたコンテンツとPDFをクロールできます。

ElasticのWebクローリングを探求しましょう

脚注

12023年のWebスクラッピングの未来とは?』、Apify Blog、2023年1月