読者です 読者をやめる 読者になる 読者になる

人工知能に関する断創録

人工知能、認知科学、心理学、ロボティクス、生物学などに興味を持っています。このブログでは人工知能のさまざまな分野について調査したことをまとめています。最近は、機械学習、Deep Learning、Kerasに関する記事が多いです。



スパイダー

自然言語処理

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

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

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

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

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

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