AnemoneとRedisを連携させてRubyのWebクローラーを作る【インストール編】

  • 投稿日:
ちょっとメモ的に。

■使う物
Anemone
rubyで作られたオープンソースのWebクローラー。
parseする時にNokogiriを使うので別途インストールが必要。

Redis
オンメモリで動く超高速なNOSQLのKVSのストレージ。
Herokuでも動く。

■Macでインストール
Nokogiri
Macportでインストール失敗したライブラリをHomebrewで入れる。
brew install libxml2 libxslt
sudo port -d selfupdateしてもsudo port syncしてもダメだった。
sudo port install nokogiri

Anemone
gem install anemone
Redis
・macportを最新にする。 
sudo port -d sync
sudo port -d selfupdate

・Xcodeを起動して、メニューバーの「Xcode」→「Preferences」→「Downloads」から「Command Line Tools」をインストール。
・Redisインストール
sudo port install redis
・サービスに登録
sudo launchctl load -w /Library/LaunchDaemons/org.macports.redis.plist
・Ruby用ライブラリをインストール
sudo gem install redis

■Windowsでインストール
Nokogiri
gem install nokogiri
Anemone
gem install anemone
Redis
RedisのWindows用インストーラをDLして入れるだけ。

■まとめ
Anemoneを使うと、クロールしたページの情報をメモリに保持するため、あっという間にメモリ不足で落ちる。
感覚的にはデフォルトで数百ページ程度。
Redisはクロールした情報をメモリではなくMongoDBやRedisに保持することができるため、あらかじめRedisをインストールしておく。
Redisもオンメモリだからあまり変わらない気がするけど。