スパイダリング(Spidering)の基礎

宮崎 真, 廣安 知之, 三木 光範

ISDL Report  No. 20050813008

2005年 9月 19日

Abstract

スパイダ(spider)とは,インターネットから様々な情報を自動的に取得するプログラム のことである.スパイダを用いることによって,例えば複数のサイトにまたがって存在する情報を 組み合わせて,データ蓄積やファイル保存,独自の検索システムを構築,など様々なサービス が可能となる.
 本報告では,このスパイダリングについての概要および注意点を述べる.

1  はじめに

現在,Webサイトの肥沃化が進んでおり,実に30億以上ものページがWeb上に存在している. 多くの情報がオンライン化され,Webは従来に比べずっと閲覧しやすく,検索しやすく, 便利になったのである.しかしながら,この巨大なWebに対し,Webユーザとしての情報 の検索,処理,取得を行うスピードには限界がある.
 そこでスパイダリングという技術が注目されている. スパイダリング(spidering)とは,Web上にある情報の入手、選別を自動化する処理を指す. スパイダには,Webページから最新の天気概要情報を取得する簡単なものから, Googleの検索ロボットのような複数のスパイダ群まで,様々なタイプのものが存在している.
 本報告では,スパイダの概要,および使用する上での注意点について述べる.

2  スパイダリングとスクレーピング

2.1  スパイダとスクレーパ

インターネット上には,情報の収集と選別,リソースの集約,データに比較を行う, 様々な種類のコンピュータプログラムが数多く徘徊している. そしてこのようなプログラムには,ある共通の特徴が備わっている.
スパイダ(spider)とはウェブを横断して,情報を収集してくるプログラムのことである. 例えばGooglebot,Scooter,MSNbotなどが挙げられるが,これがスパイダであり,検索ロボット(bot) とも呼ばれる.
 一方で,スクレーパ(scraper)とも呼ぶことがある.参考文献であるSpidering Hack[1]では, ページ群,ファイル群,あるいはその双方から情報を全て取得するものがスパイダ, こういったファイル群から特定の情報を一部だけを抽出するものがスクレーパであると定義している. 通常スパイダとスクレーパは協調し,スパイダはリンクをたどってコンテンツを集積していくのに対し,スクレーパは ウェブページからデータを抽出していくのである.

2.2  スパイダのメリット

スパイダの利用にあたっては下記のようなメリットがある.

3  スパイダの注意点

スパイダを開発する際に,従っておくべきマナーがいくつかある.

4  スパイダの登録

スパイダの中には,サイトを徘徊して電子メールアドレスを収集し, スパムの送信先として利用するものも存在している. また,前節で挙げたように,スパイダのマナーを無視しているスパイダも存在している. このことから,経験豊富な管理者は疑いの目を持って,スパイダを見ざるおえない状況となっている.
 このような前提で,スパイダの作成者はスパイダに判りやすい名前をつけ,オンラインデータベースに登録し, オンライン上ではっきりと立場を表明しておく必要があるのである. たとえ,小さなスパイダリングしか行っていないという理由でも無視してもらえるとは考えるべきではないとされている.
具体的に,下記の手順でスパイダ登録を行う.

  1. スパイダに名前を付ける
  2. 最初に行うべきことは,スパイダに名前を付けることである.作成したスパイダの概要と目的が わかるような名前をつける必要がある.例えば,「NewsImageScraper」などが挙げられる. また,複数のスパイダを利用するのであれば,作成者のサイトを冠しておくことで, 一つのスパイダが適切な動作を行い,対象となるサイト管理者の信頼を得ることができれば, 同種のスパイダに対して疑われることがないと考えられる.

  3. スパイダに関するウェブページ
  4. スパイダに関するウェブページも作成しておき,注意深いサイト管理者が簡単に スパイダ情報を検索できるようにしておくべきである.スパイダに 関するウェブページでは,下記のような情報が必要となる.

    • ウェブサイトのログ中に表示されるスパイダの名称(User-Agent)
    • スパイダの目的と動作内容の簡単な説明(スパイダを公開する場合は,提供ソースへのリンクも含めて)
    • スパイダ作成者への連絡先
    • スパイダをブロックする方法あるいは,スパイダを受け入れる場合,情報の価値をさらに高める方法

  5. スパイダの登録場所
  6. スパイダ作成に続いて,オンラインデータベースへの登録が必要となる. 下記が登録しておくべきデータベースである.

    • Web Robots Database (http://www.robotstxt.org/wc/active.html)
    • 複数の形式で検索することが可能.スパイダを登録するには、テンプレートに記入し, それを登録用のアドレス宛に電子メールで送信する必要がある.

    • Search engine robots (http://www.jafsoft.com/searchengines/webbots.html)
    • スパイダ等のクライアント側プログラムが,検索エンジンのロボット,ブラウザ, リンクチェッカ等の形態毎に分類されており,サイト管理者のコメントと「もぐり」 スパイダの一覧も併せて公開されている.

    • List of User-Agents (http://www.psychedelix.com/agents.html)
    • 複数のページに分割され,こまめに更新されている.明確な登録手続きはないが, 各ページの最後に電子メールのアドレスが記載されている.

    • The User Agents Database (http://www.icehousedesigns.com/useragents/)
    • 約300種類のクライアントが登録され,様々な方法で検索できるようになっている.スパイダ登録用の電子メールアドレスが公開されている.

4  法的問題

サイトの管理者にコンタクトを取って許可を得た上で,スパイダについての十分な 情報を提供したとしても,法律に反していないかどうかを十分に確認する必要があり, スパイダを使用することによってトラブルに巻き込まれる可能性もある.
 ウェブに関連した法律については,解決されていない多くの問題が山積みされており, 結論が分かれている.許可を得て,その制約内で運用しているのであれば,リスクはさほど大きく ないと考えられる.しかし,許可を得ておらず,サイトの運用規模が明確でない場合, リスクは増大していく.また,Googleのように明確な運用規定が存在し, APIが利用可能となったとしても,許可を得ていないスパイダリングによってリスクが 生まれることもある.
 また,スパイダの動作方法が問題となるだけでなく,収集したデータを用いて 何を行うのかも問題となってくる.これに関する議論も,まだまだ追いついていない現状があり, スパイダ作成者には,常識を持ち,著作権を遵守することなど, モラルを持つことが必要となる.

5  まとめ

本報告では,スパイダリングについての説明を行った. スパイダリングは,作成者に対し様々な利点を与え, Webをベースとした新たなサービスの可能性をも秘めている.
 しかしながら,一方で法律的な問題も多く山済みされており, 日々スパイダリングによるトラブルが起きている. スパイダを作成するにあたっては,インターネット上での 常識を認識した上で,作成し利用すべきである.

References

[1]
Kevin Hemenway[著] 村上 雅章[訳] SPIDERING HACK オライリー・ジャパン, 2004.

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.


Back to Top