Nutch は Apache プロジェクトで開発されているクローラ(crawler)です。クローラは、起点として指定されたURLからリンクをたどりながらHTMLをデータベース化するソフトウェアです。 Google や Yahoo! 等の検索ポータルが内部で使用していることで知られています。スパイダー(Spider)、ボット(bot)等といわれることもあります。
Nutch は 2009/3/23 についにバージョン 1.0 がリリースされました。
Nutch のインストールには JAVA 及び Tomcat が必要です。まだインストールしていない場合には先にインストールしておきます。しばらくアップデートしていない場合にアップデートしておいた方がよいでしょう。
以下を参考にしてください。
- Linux で root 権限なしでも最新の JDK をインストールする1つのやりかた
- Linux で root 権限なしでも最新の Tomcat をインストールする1つのやりかた - 日本語化設定付き
インストールからクロール結果の確認まで手順は5段階あります。
- インストール
- クロールのための設定
- クロール
- クロール結果の確認ための設定 Tomcat にアプリケーションを登録する
- 確認してみる
- インストール
http://hudson.zones.apache.org/hudson/job/Nutch-trunk/
から最新のものをダウンロードしてインストールします。
下は、2009/05/30時点での最新版をインストールしています。
% wget http://hudson.zones.apache.org/hudson/job/Nutch-trunk/829/artifact/trunk/build/nutch-2009-05-30_04-01-38.tar.gz % tar xvfz nutch-2009-05-30_04-01-38.tar.gz % export NUTCH_HOME=$HOME/local/nutch-2009-05-30_04-01-38
- クロールのための設定
http://lucene.apache.org/nutch/ を起点にクロールする設定の例です。
% cd $NUTCH_HOME % vi conf/nutch-default.xml <- 任意の'User-Agent'をセットする。http.agent.name NutchSpider <- 'User-Agent'を指定する(なんでもよい) % mkdir urls <- クロールの起点を記述したテキストファイルを置くディレクトリ。ここにURLを記述したファイルを置いておくとクロールされる。 % vi urls/nutch <- クロールの起点となるURLを記述する。複数URLを書いてもよい。 http://lucene.apache.org/nutch/ <- 追記 % vi conf/crawl-urlfilter.txt <- クロール対処とする・しないサイトを指定(変なとこまで回って収集つかなくなったり、怒られたりしないように最初はセットしておいた方がイイ) #+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/ +^http://([a-z0-9]*\.)*apache.org/ <- 変更
- クロール
bin/nutch crawl urls -dir crawl -depth 3 -topN 50 > crawl.log 2>&1 -dir : crawlしたデータを保存するディレクトリ -threads : 並行動作スレッド数 -depth : リンクをたどる階層の深さ -topN N : 各階層での最大ページ数
- クロール結果の確認ための設定 Tomcat にアプリケーションを登録する
% export CATALINA_HOME=$HOME/local/apache-tomcat-5.5.27 <- Tomcat が $HOME/local/apache-tomcat-5.5.27 にインストールされている場合 % cd $CATALINA_HOME/webapps % mkdir nutch % cd nutch % jar xvf $NUTCH_HOME/nutch-2009-05-30_04-01-38.war % cd $NUTCH_HOME <- デフォルトの設定ではTomcatを起動したディレクトリの下のcrawlが検索対象になる。 % $CATALINA_HOME/bin/startup.sh
- 確認してみる
http://host:8080/nutch/jp/ にアクセス。検索ボックスに nutch と入れて検索してみる。
ではでは
参考文献
NutchTutorial