インターネットの仕組み 第四回 GoogleとYahoo!とクローラ

 
 ども。たりきです。
 インターネットの仕組み 第四回では,皆さんお世話になっている GoogleYahoo! の二大検索サイトについてお話しましょう。
 
 GoogleYahoo! も,現在は「ロボット型検索エンジン」と呼ばれる方式になっています。これは,クローラと呼ばれる,ネット上の情報を自動的に収集するプログラム(ロボット)を使ってサイトの情報を収集し,得た情報をインデックス化してデータベースを作り,そのデータベースをキーワード検索することで,利用者の検索に答えている,という形式です。
 Yahoo! はサービス開始直後は人力登録式の「ディレクトリ検索サイト」と呼ばれる方式でした。これは Yahoo! の中の人が,登録申請のあったサイトや,人力で見つけたサイトを分類し,ディレクトリ(フォルダ)単位に整理して登録することで,利用者はそのディレクトリ(フォルダ)を順に辿る事で目的のサイトを見つける,というものでした。しかし,それでは登録できるサイトに人的な限界があること,サイトの移動や消滅に対応することが困難になることなどから,Yahoo!ロボット型検索エンジン方式に変更された,というわけです。
 
 では,ロボット型検索エンジンのクローラとはどのようなものでしょう。
 クローラとは,先に述べた通り,自動的にサイトの情報を収集してくれます。リンクを辿ったり,画像情報を読み取ったりと,かなり高性能です。実際のクローラの痕跡を見てみましょう。自宅サーバに来たクローラの痕跡です。Apacheアクセスログそのままですがご了承ください。
 
 crawl-66-249-65-239.googlebot.com - - [12/Sep/2010:11:42:20 +0900] "GET /robots.txt HTTP/1.1" 404 293
 crawl-66-249-65-239.googlebot.com - - [12/Sep/2010:11:42:20 +0900] "GET / HTTP/1.1" 200 152
 
 googlebot.com からのアクセスになっていますね。Yahoo! の場合はどうでしょうか。
 
 b3091045.crawl.yahoo.net - - [12/Sep/2010:11:11:08 +0900] "GET /robots.txt HTTP/1.0" 404 281
 b3091045.crawl.yahoo.net - - [12/Sep/2010:11:11:09 +0900] "GET /wiki/index.php?plugin=attach&pcmd=open&file=u64x4iz57.html&refer=VANK%A4%CB%A4% HTTP/1.0" 404 285
 
 どこかから,過去に置いていた wiki へのリンクが張られていたみたいで,それを追いかけて Yahoo! のクローラが来たみたいです。
 こちらも crawl.yahoo.net からのアクセスで判別できますね。
 
 さて,クローラがアクセスした時間を見てみましょう。Google のクローラは 9/12 の 11:42:20 に一秒以内で二回のアクセスをしています。Yahoo! のクローラは 9/12 の 11:11:08 と 11:11:09 の二回,一秒の間を開けてアクセスしています。
 どちらもおおよそ一秒に一回程度と見てよいでしょう。Google のほうが若干せっかちとも言えます。
 ここで,インターネットの仕組み 第三回を思い出してみてください。ブラウザからのアクセスでは,一秒から二秒くらいの間に,約三十回ものアクセスがありました。それに比べると,一秒に一回程度のアクセスしかしないクローラというのは,とてもノンビリしたアクセスだ,と言える事がわかると思います。
 
 実際の検索サイトのクローラは,数え切れないくらいのロボットが一斉に世界中のあちこちのサイトをクロールしています。しかし,一つのサイトに関して見てみると,先に痕跡を例示した通り,およそ一秒に一回程度のクロールをしている程度でしかありません。
 私のサーバがクロールされているとき,きっと世界中のあちこちでも,いや,日本国内に限っても,同時に何十何百というサイトがクロールされていることでしょう。
 
 Google の登場は 1998年の創業,さらにはその前身を1996年に見ることができます。また,Yahoo! JAPAN は 1996年の創業で,ディレクトリ型を中心にロボット型も多少は使うというスタイルでした。ロボット型検索エンジン主体となったのは 2005年からのようです。ロボット型検索エンジンは古くから存在していることがわかります。
 また,ダイヤルアップでインターネットに接続することが一般的だった 1995年から 2000年にかけて,多くの「自動巡回ソフト」がリリースされました。代表的なものに「波乗野郎」があります。同様のものは,Vector窓の杜などのフリーウェア・シェアウェアサイトでたくさん見つけることができます。
 これらは,特定のサイトを「テレホーダイ*1」時間中,通称「テレホタイム」にまるごとダウンロードしておいて,昼間にゆっくり読む,といった目的でよく使われました。
 これらは多くの場合,ブラウザでのアクセスに比べてゆるやかなアクセスを行います。例外的に,テレホーダイ時代のソフトは回線速度が遅いことを前提に次々とダウンロードするものがあり,現在の高速回線ではブラウザでのアクセス並の頻度でのアクセスを行うものもあります。そのようなソフトの場合,ブラウザでのアクセスではページを表示したら人間が読む間ほとんどアクセスが行われないのに対して,休み無くアクセスを続けるため,オプションでウエイト(待ち時間)を入れるなど,使い方に注意する必要があります。
 
 
 
 
 いかがでしょうか。GoogleYahoo! も,現在はロボット型検索エンジンを使っています。また,フリーウェア等で,WEB サイトをまるごとダウンロードするソフトも数多くあります。
 いずれも 1995年ごろには存在していて,当然のことながらその時代のサーバも一秒に一回程度のクローラのアクセスがあっても,他の一般利用者の WEB ページ閲覧には何の問題もなく応答していました。
 現在においても,検索サイトのクローラや,マッシュアップサイトからのクローラが頻繁に訪れます。しかし,サーバはそれらを含めて,多くの利用者のリクエストにレスポンスを返すことができる性能がある,というわけです。
 
 ○まとめ
 
 1995年ごろから,クローラは検索サイトや一般利用者の区別無く,広く使われていた
 クローラの多くは,サーバに負荷を与えないように動作している
 15年前でも,一秒に一回程度のクローラが来ても利用者のリクエストに問題なく応答できていた
 現在においても,クローラは広く使われ続けている
 一部のクローラは回線速度が速くなったため想定以上の頻度でアクセスをするので,一秒に一回程度のアクセスに押さえるよう設定することが望ましい
 

*1:夜23時から翌朝8時まで,指定した二つの番号に対しての通話料金が月額一定となるサービス