Heritrix簡易搜尋引擎實現步驟

來源:互聯網
上載者:User

一、 Heritrix的安裝與配置

1. 在Eclipse中建立Java Project,名稱為Heritrix,同時將Heritrix解壓jar包中的lib檔案夾拖放到建立的Heritrix下;並將lib檔案夾下的所有jar檔案,加到項目的classpath路徑下;

2. 將位於Heritrix原始碼檔案夾下的src\java\的org和st兩個檔案夾直接拖進Heritrix工程下的src下,如果出現編譯錯誤,要把編譯的JDK設定成1.5版本以上;

3. 將Heritrix原始碼檔案夾下的src\conf\下的所有檔案和檔案夾拖至Heritrix工程下的src內,在src內找到heritrix.properties並開啟,在“heritrix.cmdline.admin=”後邊添加使用者和密碼,格式如“admin:admin”,在登入Heritrix的管理介面時需要此使用者名稱和密碼;

4. 將Heritrix原始碼檔案夾下的src下的其他檔案夾,即除conf和java兩個檔案夾以外的所有檔案夾,拖至Heritrix項目工程下,至此,Heritrix就可以運行了,運行Heritrix,右擊Run As,選擇run configurations,Project項選擇Heritrix,Main class選擇org.archive.crawler.Heritrix,運行即可;

5. 開啟瀏覽器,並在地址欄中輸入http://localhost:8080,便可以看到Heritrix的登入介面,在Username中填入admin,在Password中填入admin,單擊Login就可以看到Heritrix控制台介面。

二、 設定Heritrix抓取任務

1.   首先要為Heritrix定製一個任務(Job),單擊Job,選擇With defaults之後,在Name of new job中輸入此次任務的名稱、描述以及種子(Seeds),種子就是Heritrix的開始抓取的頁面,通常會選取一些門戶頁面或者導航頁面作為Seeds,因為這樣的頁面裡連結很多,是某個網站的入口,從這裡實行抓取才能最大限度地遍曆整個網站,然後單擊Modules,在這個頁面中要為此次任務設定各個處理模組。

2. 在Select Crawl Scope標題下,在Crawl Scope選項中,選擇org.archive.crawler.scope.BroadScope,並單擊右邊的Change按鈕。

3. 在Select URI Frontier標題下,在URI Frontier選項中,選擇org.archive.crawler.frontier.BdbFrontier,並單擊右邊的Change按鈕。

4. 在Select Pre Processors標題下,選擇org.archive.crawler.prefetch.Preselector和org.archive.crawler.prefetch.PreconditionEnforcer,並單擊右邊的Add按鈕。

5. 在Select Fetchers標題下,選擇org.archive.crawler.fetcher.FetchDNS和org.archive.crawler.fetcher.FetchHTTP,並單擊右邊的Add按鈕。

6. 在Select Extractors標題下,選擇org.archive.crawler.extractor.ExtractorHTTP和org.archive.crawler.extractor.ExtractorHTML,並單擊右邊的Add按鈕。

7. 在Select Writers標題下,選擇org.archive.crawler.writer.MirrorWriterProcessor,並單擊右邊的Add按鈕。

8. 在Select Post Processor標題下,選擇org.archive.crawler.postprocessor.CrawlStateUpdater、org.archive.crawler.postprocessor.LinksScoper和org.archive.crawler.postprocessor.FrontierScheduler,並單擊右邊的Add按鈕。

9. 設定好Modules後,設定Settings,並單擊Settings。這裡只需要修改兩個地方,user-agent和from,可修改成任意值,全部設定好後,單擊上方的Submit Job,這時,就建立好了一個Job,單擊Console,回到控制頁面,單擊Start即可運行Heritrix。單擊Start之後,重新整理一下,就能看到運行狀態。當Heritrix運行之後,我們在Heritrix的專案檔夾下可以看到一個jobs檔案夾,開啟後便是Heritrix抓取的網頁。

三、 Heritrix源碼修改

1. 如果我們希望對Heritrix進行定製,完成更加複雜的搜尋任務,可以選擇繼承FrontierScheduler,並覆寫schedule這個方法,可以在這個方法內部加入一些對連結內容進行判斷的邏輯,以保證抓取的連結都是符合自己要求的。


在配置好了之後,如果你的種子設定的是www.shu.edu.cn,那麼在你爬去完成之後,可以參照我提供的測試war包,進行測試。

地址是:http://download.csdn.net/detail/shijiebei2009/6705663

注意,在war包中,lib下有個PreProcess.jar檔案,裡面的設定檔需要修改成你自己爬去下來的檔案路徑

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.