若是須要定製,就須要在eclipse下面安裝運行。安裝步驟:
1、需求文件
heritrix-1.41.3-src.zip
heritrix-1.14.3.zip
在http://sourceforge.net/project/showfiles.php?group_id=73833&package_id=73980能夠下載
2、準備
把下載的兩個文件分別解壓到不一樣的目錄中
3、在eclipse中新建一個java appliction
分別把heritrix-1.14.3.zip的解壓文件中的conf,webapps,lib文件夾拷到工程中
把heritrix-1.14.3-src.zip的解壓目錄下的java目錄中的META-INF,org,st目錄拷貝到工程目錄的src目錄下,把heritrix-1.14.3.zip的解壓文件中的profiles,mudules,selftest目錄拷貝到src目錄下。 在conf/heritrix.properties中配置用戶名密碼
4、工程基本搭建完成,把工程下的lib中的jar文件配置到工程中(Build Path)
5、運行org.archive.crawler.Heritrix類,工程啓動(在工程名上郵件,按刷新,src目錄下的類自動加載)
6、訪問http://localhost:8080/
使用heritrix的一個簡單例子:
一個簡單的建立執行Job的用例,該用例爲抓取www.baidu.com下的網頁,但子域(如 news.baidu.com)不抓取,步驟以下:
(1) WUI的上邊的導航欄選擇"Jobs",呈現的第一項是"Create New Job",選擇第四小項"With defaults"。輸入項的
前兩項Name和Description隨意,Seeds很是重要:http://www.baidu.com/ 注意最後一個反斜槓必須。
(2) 選擇下邊的"Modules",進入Module配置頁(Heritrix的擴展功能都是經過模塊概念實現的,能夠實現本身的模塊完成本身想要的功能)。其中第一項 "Select Crawl Scope" 使用默認的"org.archive.crawler.deciderules.DecidingScope" 。 倒數第三項 "Select Writers " 刪除默認的 "org.archive.crawler.writer.ARCWriterProcessor" ,後添加
"org.archive.crawler.writer.MirrorWriterProcessor",這樣執行任務的時候抓取到的頁面會以鏡像的方式放在本地的
目錄結構中,而不是生成ARC存檔文件。
(3) 選擇"Modules"右邊的"Submodules",在第一項內容中 "crawl-order ->scope->decide-rules->rules" 刪除掉其
中的 "acceptIfTranscluded" (org.archive.crawler.deciderules.TransclusionDecideRule) 的這一項抓取做用域的
規則。不然當Http請求返回301或者302時Heritrix會去抓取其餘域下的網頁。
(4) 在WUI的第二行導航欄中選擇"Settings"進入Job的配置頁面,其中主要修改兩項:http-headers 下的user-agent 和
from,他們的"PROJECT_URL_HERE" 和 "CONTACT_EMAIL_ADDRESS_HERE" 替換爲本身的內容
("PROJECT_URL_HERE" 要以 "http://" 開頭)
(5) 在WUI的第二行導航欄中選擇最右邊的"Submit job"
(6) 在WUI的第一行導航欄中選擇第一項的"Console",點擊"Start",抓取任務正式開始,時間長短有網絡情況和所抓取網站的深度有關。
按照如上步驟應該能夠正確的執行一次網站的抓取任務,抓取頁面會存放在工做目錄下的mirror文件夾內。