1. 程式人生 > >對nutch爬蟲的一些理解

對nutch爬蟲的一些理解

下圖提供網上找來的相關流程圖片,以便於理解:

總結如下: 
1) 建立初始 URL 集 
2) 將 URL 集註入 crawldb 資料庫---inject 
3) 根據 crawldb 資料庫建立抓取列表---generate 
4) 執行抓取,獲取網頁資訊---fetch

5) 解析抓取的內容---parse segment  
6) 更新資料庫,把獲取到的頁面資訊存入資料庫中---updatedb 
7) 重複進行 3~5 的步驟,直到預先設定的抓取深度。---這個迴圈過程被稱為“產生/抓取/更新”迴圈 
8) 根據 sengments 的內容更新 linkdb 資料庫---invertlinks 

9) 建立索引---index

-----------------------------------------------------------------------------------------------------------------------

topN n  第一次抓取注入的url的n條url(根據權重分值, 每個url都有一個分數,是根據這個分數來排序的。你可以通過外掛來擴充套件這個ScoreFilter的generatorSortValue來實現對url的排序)。第一層抓取結束後通過解析把第一層抓取到的url(假設每個頁面平均有5個超級連結,則生成5N條新的url)生成新的url集加入到CrawDb中。(如果第一層的url沒有抓完的話,第二層生成的N個url也會有第一層的url)。 然後接著下一層的抓取(迴圈以上操作,depth是就抓取的深度,也就是迴圈的次數)。 ------------------------------------------------------------------------------------------------------------------------------ 手動設定種子網址的url,設定fetchInterval(再次抓取的時間間隔 單位:秒)和score(分數可以在generate的時候提高抓取的機制) http://news.163.com nutch.fetchInterval=xxxx nutch.score=100  (中間是tab不是空格)