人工知能に関する断創録

このブログでは人工知能のさまざまな分野について調査したことをまとめています

スパイダー

広大な情報の海へ(2005/08/01)のつづき。

スパイダー(spider)とはウェブを横断して、情報を収集してくるプログラムのこと。クローラー(crawler)や検索ロボット(bot)と呼ぶ人もいる。

ウェブサーフィンと言うと人がパソコンの前に座ってブラウザを操作して情報を集めていくイメージだけど、スパイダーを使うとそれさえも自動化できる。

今日は、『Spidering Hacks』に載っていたスクリプトを参考にして、自分の目的(内緒)を達するようなスパイダーを書いてみた。動かしてみたが無茶苦茶便利だ。マウスを使ってぽちぽち操作してたのではすごい時間がかかることでも自動化すると待ってるだけでやっといてくれる。自動化のありがたみをつくづく感じた。

PerlにはWWW::Mechanizeというモジュールがあって、これを使うとリンクをたどる、htmlファイルを取得する、ファイルをダウンロードするなどの処理が書ける。取得したhtmlを加工することもPerlを使えば簡単にできる。

スパイダーでの大量情報収集が禁止されているサイト(Wikipediaなど)もあるし、暴走してしまうと相手のサイトに迷惑をかけるので気をつけないといけない。暴走しても手元でプログラムを強制終了すれば止まるのでまだましなのだが。