プログラムAnemoneのストレージを変更するシリーズ、ついでにSQLite3とMongoDBも書いておきます。Anemone::Storage::SQLite3()と指定するだけです。引数を渡さなければ、anemone.dbという形式のsqlite3ファイルが作成されます。プログラムとしては、次のような形ですね。endendSQLite3を使った場合の嬉しいところは、2回目以降の起動でも既読スキップが有効になる点です。これは、初期化処理でPStoreと違いファイルの削除なども行わず、テーブル作成時も既存テーブルがあればちゃんと残している点です。end一方で、既読スキップはURLのみで判断しています。訪問後、N日の場合は再取得といった処理はできません。前回取得時の日時情報を持っていないからです。endこの辺りは、少し改善したいですね。Anemone::Storage::MongoDB()と指定するだけです。前提として、ローカルにMongoDBのデーモンが起動されている必要があります。endendMongoDBで利用するDB名やCollection名も変更可能ですが、DB名の変更の方法は微妙です。mongoのGemを呼び元でrequireして、DBを作成の上で渡す必要があります。Anemone::Storage::MongoDB(Mongo::Connection.new.db('crawler'),"documents")}AnemoneのStorageクラスで、下記のような処理をしている為です。endこんな感じの方が、使い易いのではと思います。Mongo::Connection.new.db(db_name)ちなみに、AnemoneのMongoDBは、初期化処理でCollectionを削除しています。その為、2回目以降の処理で既読スキップは出来ません。(必要であれば、コメントアウトするなり対処しましょう。巡...2014-08-06『Rubyによるクローラー開発技法』を書きました勉強会やスライドで紹介していましたが、Ruby×クローラーという...2014-05-05開発用プロキシ、「CocProxy」が便利CocProxyというツールがあります。Anemoneでストレージをファイルに変更するシリーズの如く何度かAnemoneの話を書いています。はてなブログをはじめよう!dkfjさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。