crawler4j mysql_Nutch、heritrix、crawler4j优缺点
Nutch:
ApacheNutch是一個高度可擴展的和可伸縮的開源網頁爬蟲軟件項目。源于ApacheLuceneTM,項目多樣化,目前由兩個代碼庫組成,即:
1.???? Nutch1.x:一個非常成熟的爬蟲產品。1.x版本支持細粒度的配置,依賴于一個很好的分布式處理的ApacheHadoop數據結構。
2.???? Nutch2.x:一個新興的可供選擇的版本,它的靈感來自于1.x版本,但是2.x和1.x在一個關鍵領域中不同。2.x版本的存儲是脫離任何特定的底層數據存儲,使用ApacheGora?處理對象持久性映射。這意味著我們可以實現一個極其靈活的模型/棧用于存儲一切(比如獲取時間、狀態、內容解析文本、outlinks、inlinks等等)到NoSQL數據庫中的解決方案。
可插拔和模塊化當然有著它的好處,Nutch提供了可擴展的接口,比如Parse(解析)、Index(索引)和Scoringfilter的自定義實現(例如用于解析的ApacheTika)。另外
Nutch可以在一個單個的機器上面運行,但是可以從運行一個Hadoop集群獲取很多它想要的。
1)Nutch是基于Hadoop的,它幫助我們更好的理解Hadoop
2)在wiki頁面:http://wiki.apache.org/nutch/FrontPage可以看到很多關于Nutch的相關文檔和練習文檔的鏈接;在Nutch首頁中的Documentation會有更多的文檔信息。
Nutch的優缺點
優點
Nutch支持分布式抓取,并有Hadoop支持,可以進行多機分布抓取,存儲和索引。另外很吸引人的一點在于,它提供了一種插件框架,使得其對各種網頁內容的解析、各種數據的采集、查詢、集群、過濾等功能能夠方便的進行擴展,正是由于有此框架,使得?Nutch?的插件開發非常容易,第三方的插件也層出不窮,極大的增強了?Nutch?的功能和聲譽。
缺點
Nutch的爬蟲定制能力比較弱
Heritrix:
Heritrix 是一個由 java 開發的、開源的網絡爬蟲,用戶可以使用它來從網上抓取想要的資源。其最出色之處在于它良好的可擴展性,方便用戶實現自己的抓取邏輯。https://www.ibm.com/developerworks/cn/opensource/os-cn-heritrix/
Heritrix的優缺點
優點
Heritrix的爬蟲定制參數多
缺點
單實例的爬蟲,之間不能進行合作。在有限的機器資源的情況下,卻要復雜的操作。只有官方支持,僅僅在Linux上進行了測試。每個爬蟲是單獨進行工作的,沒有對更新進行修訂。在硬件和系統失敗時,恢復能力很差。很少的時間用來優化性能。
相對于Nutch,Heritrix僅僅只是一個爬蟲工具,沒有提供搜索引擎。如果要對抓取的站點排序必須要實現類似于Pagerank的復雜算法。
Crawler4j
Crawler4j是一個開源的Java類庫提供一個用于抓取Web頁面的簡單接口。可以利用它來構建一個多線程的Web爬蟲。
Crawler4j的優缺點
優點
多線程采集
內置了Url 過濾機制,采用的是BerkeleyDB 進行url的過濾。
可擴展為支持結構化提取網頁字段,可作為垂直采集用
缺點
不支持動態網頁抓取,例如網頁的ajax部分
不支持分布式采集,可以考慮將其作為分布式爬蟲的一部分,客戶端采集部分
---------------------------------------------------------------------------------
Nutch與Heritrix比較
Nutch?只獲取并保存可索引的內容。Heritrix則是照單全收。力求保存頁面原貌
Nutch?可以修剪內容,或者對內容格式進行轉換。
Nutch?保存內容為數據庫優化格式便于以后索引;刷新替換舊的內容。而Heritrix?是添加(追加)新的內容。
Nutch?從命令行運行、控制。Heritrix?有?Web?控制管理界面。
Nutch?的定制能力不夠強,不過現在已經有了一定改進。Heritrix?可控制的參數更多。
Heritrix?是個?"archivalcrawler" --?用來獲取完整的、精確的、站點內容的深度復制。包括獲取圖像以及其他非文本內容。抓取并存儲相關的內容。對內容來者不拒,不對頁面進行內容上的修改。重新爬行對相同的URL不針對先前的進行替換。爬蟲通過Web用戶界面啟動、監控、調整,允許彈性的定義要獲取的URL。
Nutch支持分布式抓取,Heritrix僅支持單機抓取,不能多機協同工作。
crawler
功能單一
支持分布式爬取
定制能力
鏡像保存
Nutch
×
√
弱
×
Heritrix
√
×
強
√
總之,Nutch的文檔比較的全面,但需要了解和學習的內容相對也會比較的多。但是如果以后項目需要進行Hadoop的部署,Nutch很值得進一步的研究。
Heritrix的文檔也比較的多,對于主題爬蟲而言,在Heritrix上面進行擴展也是一個很好的選擇。
Crawler4j是一個多線程爬蟲,相關文檔較少,容易部署和學習。
參考博客:
http://m.blog.csdn.net/blog/angle7777/21692981
總結
以上是生活随笔為你收集整理的crawler4j mysql_Nutch、heritrix、crawler4j优缺点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 逆水寒摩崖绝境密码怎么解 逆水寒摩崖绝境
- 下一篇: 京东:特斯拉官方旗舰店开业,提供 Tes