我有一個比較簡單的例子。我基本上想要存儲有關各個網站之間鏈接的數據,並且不想限制這些域。我知道我可以使用一些http客戶端庫編寫我自己的抓取工具,但是我覺得我會做一些不必要的工作 - 確保頁面不被檢查多次,計算出如何讀取和使用robots.txt文件,甚至可能試圖使其併發和分發,我相信還有很多其他的東西我還沒有想到。因此我想要一個抓取這些事情的網絡抓取框架,同時允許我指定如何處理這些響應(在我的情況下,只是提取鏈接並存儲它們)。大多數抓取工具似乎認爲您正在爲搜索索引網頁,這並不好,我需要一些可定製的功能。可擴展/可定製的Web爬網引擎/框架/庫?
我想將鏈接信息存儲在MongoDB數據庫中,所以我需要能夠指定鏈接如何存儲在框架中。雖然我將這個問題標記爲與語言無關,但這也意味着我必須將選擇限制在MongoDB支持的語言之一(Python,Ruby,Perl,PHP,Java和C++)中,這是一個非常寬網。我更喜歡動態語言,但我願意接受任何建議。
我已經能夠找到Scrapy(看上去整潔)和JSpider(這看起來不錯,但也許有點太「重型」,基於121頁的用戶手冊),但我想看看是否有是我失蹤的其他很好的選擇。
關於JSpider提的是,最後一個版本從2003年根據http://j-spider.sourceforge.net/news.html莖它可能是值得,再加上這個論壇條目暗示事實上項目過多死亡:HTTP:/ /sourceforge.net/forum/message.php?msg_id=5600799;這不一定是顯示塞但我個人會是十分勉強地建立在這個當今頂級的解決方案 - 所有網絡正在發生變化非常快,儘管其穩定和成熟的基礎協議和機制之後。 – 2009-08-23 16:42:23