我準備寫我的第一個網絡爬蟲,它看起來像Anemone是最有意義的。有built in support for MongoDB storage,我已經通過Mongoid在我的Rails應用程序中使用了MongoDB。我的目標是存儲抓取的結果,然後通過Rails訪問它們。我有一對夫婦的憂慮:海葵與Rails和MongoDB
1)在this page年底,它說,「注:每一個存儲引擎將開始新的爬網之前清除現有海葵的數據。」如果我正在使用默認內存存儲,但我不希望這種情況發生在抓取結束時,但是不應該將記錄無限期地持久保存到MongoDB,以便在下次運行任務時重複頁面不會被抓取?如果他們在開始新抓取之前被刪除「,那麼我應該在下次抓取之前運行我的Rails邏輯?如果是這樣,那麼我最終不得不檢查上一次抓取的重複記錄。
2)這是我第一次真正考慮在Rails模型的上下文之外使用MongoDB。它看起來像使用Page
類創建記錄,所以我以後可以像通常使用Mongoid一樣查詢這些記錄嗎?我想只要它有一個ORM提供了奇特的方法,它就被認爲是一個「模型」?
「如果您不希望發生這種情況,您可以在開始新爬網之前將存儲引擎指向新集合。」這是如何完成的? – sunnyrjuneja 2012-02-24 19:56:53
您可以在初始化時將數據庫和集合名稱傳遞到存儲中:Anemone :: Storage.MongoDB('db_name','collection_name') – 2012-02-24 23:35:38
謝謝,幫助! – sunnyrjuneja 2012-02-28 04:15:06