スパイダ(spider)とは,インターネットから様々な情報を自動的に取得するプログラム
のことである.スパイダを用いることによって,例えば複数のサイトにまたがって存在する情報を
組み合わせて,データ蓄積やファイル保存,独自の検索システムを構築,など様々なサービス
が可能となる.
本報告では,このスパイダリングについての概要および注意点を述べる.
現在,Webサイトの肥沃化が進んでおり,実に30億以上ものページがWeb上に存在している.
多くの情報がオンライン化され,Webは従来に比べずっと閲覧しやすく,検索しやすく,
便利になったのである.しかしながら,この巨大なWebに対し,Webユーザとしての情報
の検索,処理,取得を行うスピードには限界がある.
そこでスパイダリングという技術が注目されている.
スパイダリング(spidering)とは,Web上にある情報の入手、選別を自動化する処理を指す.
スパイダには,Webページから最新の天気概要情報を取得する簡単なものから,
Googleの検索ロボットのような複数のスパイダ群まで,様々なタイプのものが存在している.
本報告では,スパイダの概要,および使用する上での注意点について述べる.
インターネット上には,情報の収集と選別,リソースの集約,データに比較を行う,
様々な種類のコンピュータプログラムが数多く徘徊している.
そしてこのようなプログラムには,ある共通の特徴が備わっている.
スパイダ(spider)とはウェブを横断して,情報を収集してくるプログラムのことである.
例えばGooglebot,Scooter,MSNbotなどが挙げられるが,これがスパイダであり,検索ロボット(bot)
とも呼ばれる.
一方で,スクレーパ(scraper)とも呼ぶことがある.参考文献であるSpidering Hack[1]では,
ページ群,ファイル群,あるいはその双方から情報を全て取得するものがスパイダ,
こういったファイル群から特定の情報を一部だけを抽出するものがスクレーパであると定義している.
通常スパイダとスクレーパは協調し,スパイダはリンクをたどってコンテンツを集積していくのに対し,スクレーパは
ウェブページからデータを抽出していくのである.
スパイダの利用にあたっては下記のようなメリットがある.
毎日チェックしたいサイト等,ブラウザでも十分に用は足せるが, 機械的な作業はプログラムに任せ,興味のあるコンテンツだけが引き渡されるようにする. このようなことを実現すると,ユーザの時間,エネルギー,手間を省くことができる. アクセスの自動化を推し進めることで,データの活用に時間を回せるようになるのである.
例えば,マーケティングリサーチの結果を収集し,CSVファイル形式で出力し, プレゼンテーションに活用したり,長期的な傾向を分析することができる. また,個人的利用であれば,好きなサイトの更新状況を監視させることもできる. 一度,データを入手することができれば,ユーザの思い通りに,加工,変形,再フォーマット することができるようになる.
ウェブサイト同士は,どこかで繋がっているが,手作業で様々なデータを集約するのは一苦労 となる.スパイダリングによって作業を自動化すれば,スパイダは情報源をまたがって、 そして時間を超えてデータを集約することができる.
普段利用する検索エンジンに利用したい機能が無く,他の検索エンジンで提供されている場合, それらを連携することでそれぞれの検索エンジンの短所を補い,自分独自の検索システム を構築することができる.
日々の面倒なウェブ管理作業をスパイダに任せることができる. 例えば,作成したHTMLにリンク切れがないか,怪しげなコンテンツにリンクしていないか, 標準に準拠したものとなっているかを確認することができる.
スパイダを開発する際に,従っておくべきマナーがいくつかある.
robots.txtとは,サイトのルートに配置されたファイルであり,該当サーバ内 で許されている行動が記述されている.また,特定のスパイダに対してサイト全体 のスパイダリングをいっさい拒否することもできる.仮にこれを無視するのであれば, IPによりアクセス拒否を受けることにもなるのである.
短時間のうちに多くのコンテンツを取得しようとした場合(1秒当たり数十から数百ページ),
サイトに多大な負荷をかけ,該当サイトを訪問している他の人々に迷惑をかけることになる.
これをハンマリング(hammering)と呼ぶ.
どの程度の速度でページアクセスを行えばよいかについては,場合によるが,
WebmasterWorld.comへの寄稿者たちが提案している基準は,ページに対するリクエストを
1秒当たり1〜2回までに抑えておくというものである.
オーバースクレーピング(overscraping)とは,必要以上のものを取得することで,
サイトのリソースを不必要に消費することである.あるページが必要なのであれば,
そのページのみを取得するようにし,ディレクトリ全体を取得したり,サイト全体を
取得したりすることは,控えるべきである.
これは回数についても言えることであり,必要以上にサイトをスクレーピングすべきではない.
参考図書では,1日一回の更新があるサイトであれば,管理者の許しが無い場合の目安としては,一時間に1回程度
のアクセスとしている.
スパイダの中には,サイトを徘徊して電子メールアドレスを収集し,
スパムの送信先として利用するものも存在している.
また,前節で挙げたように,スパイダのマナーを無視しているスパイダも存在している.
このことから,経験豊富な管理者は疑いの目を持って,スパイダを見ざるおえない状況となっている.
このような前提で,スパイダの作成者はスパイダに判りやすい名前をつけ,オンラインデータベースに登録し,
オンライン上ではっきりと立場を表明しておく必要があるのである.
たとえ,小さなスパイダリングしか行っていないという理由でも無視してもらえるとは考えるべきではないとされている.
具体的に,下記の手順でスパイダ登録を行う.
最初に行うべきことは,スパイダに名前を付けることである.作成したスパイダの概要と目的が わかるような名前をつける必要がある.例えば,「NewsImageScraper」などが挙げられる. また,複数のスパイダを利用するのであれば,作成者のサイトを冠しておくことで, 一つのスパイダが適切な動作を行い,対象となるサイト管理者の信頼を得ることができれば, 同種のスパイダに対して疑われることがないと考えられる.
スパイダに関するウェブページも作成しておき,注意深いサイト管理者が簡単に スパイダ情報を検索できるようにしておくべきである.スパイダに 関するウェブページでは,下記のような情報が必要となる.
スパイダ作成に続いて,オンラインデータベースへの登録が必要となる. 下記が登録しておくべきデータベースである.
複数の形式で検索することが可能.スパイダを登録するには、テンプレートに記入し, それを登録用のアドレス宛に電子メールで送信する必要がある.
スパイダ等のクライアント側プログラムが,検索エンジンのロボット,ブラウザ, リンクチェッカ等の形態毎に分類されており,サイト管理者のコメントと「もぐり」 スパイダの一覧も併せて公開されている.
複数のページに分割され,こまめに更新されている.明確な登録手続きはないが, 各ページの最後に電子メールのアドレスが記載されている.
約300種類のクライアントが登録され,様々な方法で検索できるようになっている.スパイダ登録用の電子メールアドレスが公開されている.
サイトの管理者にコンタクトを取って許可を得た上で,スパイダについての十分な
情報を提供したとしても,法律に反していないかどうかを十分に確認する必要があり,
スパイダを使用することによってトラブルに巻き込まれる可能性もある.
ウェブに関連した法律については,解決されていない多くの問題が山積みされており,
結論が分かれている.許可を得て,その制約内で運用しているのであれば,リスクはさほど大きく
ないと考えられる.しかし,許可を得ておらず,サイトの運用規模が明確でない場合,
リスクは増大していく.また,Googleのように明確な運用規定が存在し,
APIが利用可能となったとしても,許可を得ていないスパイダリングによってリスクが
生まれることもある.
また,スパイダの動作方法が問題となるだけでなく,収集したデータを用いて
何を行うのかも問題となってくる.これに関する議論も,まだまだ追いついていない現状があり,
スパイダ作成者には,常識を持ち,著作権を遵守することなど,
モラルを持つことが必要となる.
本報告では,スパイダリングについての説明を行った.
スパイダリングは,作成者に対し様々な利点を与え,
Webをベースとした新たなサービスの可能性をも秘めている.
しかしながら,一方で法律的な問題も多く山済みされており,
日々スパイダリングによるトラブルが起きている.
スパイダを作成するにあたっては,インターネット上での
常識を認識した上で,作成し利用すべきである.
Copyright (C) 2005 Tomoyuki Hiroyasu, All rights reserved. Copyright (C) 2005 Mitsunori Miki, All rights reserved. Copyright (C) 2005 Masashi Miyazaki, All rights reserved. No part of this document may be reproduced, copied, distributed, transferred, modified, or transmitted, in any form or by any means, without the prior written permission of the authors. In no event shall the authors be liable for any damages caused in any way out of the use of this document.