Nutch

參考資料1. http://hi.baidu.com/shirdrn/item/5bc5cff7dd8d9615ce9f32ae

參考資料2. http://a280606790.iteye.com/blog/825045


第一步分析核心流程:

1. 建立初始URL集合分析


2. 

inject操作分析

inject操作調用的是nutch的核心包之一crawl包中的類org.apache.nutch.crawl.Injector。它執行的結果是:crawldb數據庫內容得到更新,包括URL及其狀態。


3.

generate操作分析

generate操作調用的是crawl包中的類org.apache.nutch.crawl.Generator。它執行的結果是:創建了抓取列表,存放於segments目錄下,以時間爲文件夾名稱。循環抓取多少次,segments文件夾下就會有多少個以時間爲名稱的文件夾。


4. 

fetch操作分析

fetch操作調用的是fetcher包中的類org.apache.nutch.fetcher.Fetcher。它執行的結果是:將頁面內容抓取下來,存於segment目錄下。


5. 

parse操作分析

parse操作調用的是parse包中的類org.apache.nutch.parse.ParseSegment。它執行的結果是:將fetch得到的頁面解析爲text和data,存於segments目錄下。

(parse操作主要作用可以從下面3方面來說明:

(1) 解析segment中由fetch得到的頁面,並進行整理,將頁面分成爲parse-date和parse-text;

(2) parse-date中保存的是頁面的題名、作者、日期、鏈接等內容;

(3) parse-text中保存的是頁面的文本內容。

例如,我只執行一次抓取任務,就執行了上述的一些操作,操作的結果直接反映在segments目錄中。可以看到在home\SHIYANJUN\nutch-0.9\mydir\segments目錄下面創建了20081004102407這個目錄,該目錄中包含6個目錄:content、crawl_fetch、crawl_generate、crawl_parse、parse_data、parse_text,從目錄名稱就可以大致知道該目錄存取的相關內容信息。)


6. 

updatedb操作分析

updatedb操作調用的是crawl包中的類org.apache.nutch.crawl.CrawlDb。它執行的結果是:更新了crawldb數據庫,爲下一輪抓取做準備。


7.

invertlinks操作分析

invertlinks操作用來更新linkDB,爲建立索引的工作提供準備。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章