2015-06-17 30 views
0

我已經構建了一個多線程的web爬行&提取引擎與普通的Java和硒。 API中的每個作業都會在自己的線程中執行並將其狀態提交回API。每個作業還可以包含提取信息(XPth,正則表達式,CSS選擇器),連接信息(代理證書)以及抓取引擎的鉤子。例如在保存結果之前點擊一個按鈕。這個引擎工作的很好,但現在我想在多臺機器上並行運行它。我可以用當前版本來做到這一點(有渠道支持),但我正在尋求改進和技術,使整個事情變得更好,並學習新的東西。我應該爲網絡爬蟲引擎使用Akka.io,Apache Spark,Mesos還是Storm?

我發現了Akka.io,Apache Spark,Apache Mesos和Apache Storm,並問自己天氣其中的一個框架可能是一項技術,我應該調查更多的時間並重建我的引擎。

其實我不明白框架的所有差異和優點,但這就是爲什麼我問。他們似乎是相似的。

我打算用這些框架之一構建一個爬行引擎嗎?有人會建議使用框架嗎?爲什麼或者爲什麼不?

+3

你看過Nutch嗎? http://nutch.apache.org這是一個實際的網頁爬行框架,它看起來像。 – kutschkem

+1

@kutschkem感謝您的建議。 nutch看起來不錯,但似乎不支持在網站上執行JavaScript(默認情況下)。我發現了一些插件,通過使用硒啓用它,但我必須檢查是否有可能執行鉤子以在網站上生成點擊。我還發現風暴爬蟲是一個基於apache風暴的爬蟲。謝謝你的提示! – whitenexx

回答