東坡下載:內(nèi)容最豐富最安全的下載站!

首頁(yè)IT技術(shù)軟件教程 → Eclipse中配置Heritrix的方法圖文教程

Eclipse中配置Heritrix的方法圖文教程

相關(guān)文章發(fā)表評(píng)論 來源:本站整理時(shí)間:2014/10/22 9:52:30字體大。A-A+

更多

作者:專題點(diǎn)擊:91次評(píng)論:0次標(biāo)簽: Eclipse

 Heritrix 是一個(gè)由 java 開發(fā)的、開源的網(wǎng)絡(luò)爬蟲,用戶可以使用它來從網(wǎng)上抓取想要的資源。其最出色之處在于它良好的可擴(kuò)展性,方便用戶實(shí)現(xiàn)自己的抓取邏輯。不過Heritrix在Eclipse中的應(yīng)該如何配置、運(yùn)行呢?下面東坡小編就給大家說說Eclipse中配置Heritrix的方法圖文教程。

在 Eclipse 中的配置
首先在 Eclipse 中新建 Java 工程 MyHeritrix。然后利用下載的源代碼包根據(jù)以下步驟來配置這個(gè)工程。
1. 導(dǎo)入類庫(kù)
Heritrix 所用到的工具類庫(kù)都在 heritrix-1.14.4-src\lib 目錄下,需要將其導(dǎo)入 MyHeritrix 工程。
1)將 heritrix-1.14.4-src 下的 lib 文件夾拷貝到 MyHeritrix 項(xiàng)目根目錄;
2)在 MyHeritrix 工程上右鍵單擊選擇“Build Path -> Configure Build Path …”,然后選擇 Library 選項(xiàng)卡,單擊“Add JARs …”,如圖 1 所示。
圖 1. 導(dǎo)入類庫(kù) - 導(dǎo)入前

3)在彈出的“JAR Selection”對(duì)話框中選擇 MyHeritrix 工程 lib 文件夾下所有的 jar 文件,然后點(diǎn)擊 OK 按鈕。如圖 2 所示。
圖 2. 選擇類庫(kù)

設(shè)置完成后如圖 3 所示:
圖 3. 導(dǎo)入類庫(kù) - 導(dǎo)入后

2. 拷貝源代碼
1)將 heritrix-1.14.4-src\src\java 下的 com、org 和 st 三個(gè)文件夾拷貝進(jìn) MyHeritrix 工程的 src 下。這三個(gè)文件夾包含了運(yùn)行 Heritrix 所必須的核心源代碼;
2)將 heritrix-1.14.4-src\src\resources\org\archive\util 下的文件 tlds-alpha-by-domain.txt 拷貝到 MyHeritrix\src\org\archive\util 中。該文件是一個(gè)頂級(jí)域名列表,在 Heritrix 啟動(dòng)時(shí)會(huì)被讀;
3)將 heritrix-1.14.4-src\src 下 conf 文件夾拷貝至 Heritrix 工程根目錄。它包含了 Heritrix 運(yùn)行所需的配置文件;
4)將 heritrix-1.14.4-src\src 中的 webapps 文件夾拷貝至 Heritrix 工程根目錄。該文件夾是用來提供 servlet 引擎的,包含了 Heritrix 的 web UI 文件。需要注意的是它不包含幫助文檔,如果想使用幫助,可以將 heritrix-1.14.4.zip\docs 中的 articles 文件夾拷貝到 MyHeritrix\webapps\admin\docs(需新建 docs 文件夾)下;蛑苯佑 heritrix-1.14.4.zip 的 webapps 文件夾替換 heritrix-1.14.4-src\src 中的 webapps 文件夾,缺點(diǎn)是這個(gè)是打包好的 .war 文件,無法修改源代碼。
拷貝完畢后的 MyHeritrix 工程目錄層次如圖 4 所示。這里運(yùn)行 Heritrix 所需的源代碼等已經(jīng)準(zhǔn)備完備,下面需要修改配置文件并添加運(yùn)行參數(shù)。
圖 4. MyHeritrix 工程的目錄層次

3. 修改配置文件
conf 文件夾是用來提供配置文件的,里面包含了一個(gè)很重要的文件:heritrix.properties。heritrix.properties 中配置了大量與 Heritrix 運(yùn)行息息相關(guān)的參數(shù),這些參數(shù)的配置決定了 Heritrix 運(yùn)行時(shí)的一些默認(rèn)工具類、Web UI 的啟動(dòng)參數(shù),以及 Heritrix 的日志格式等。當(dāng)?shù)谝淮芜\(yùn)行 Heritrix 時(shí),只需要修改該文件,為其加入 Web UI 的用戶名和密碼。如圖 5 所示,設(shè)置 heritrix.cmdline.admin = admin:admin,“admin:admin”分別為用戶名和密碼。然后設(shè)置版本參數(shù)為 1.14.4。
圖 5. 設(shè)置登陸用戶名和密碼

4. 配置運(yùn)行文件
在 MyHeritrix 工程上右鍵單擊選擇“Run As -> Run Configurations”,選擇 Java Application, 確保 Main 選項(xiàng)卡中的 Project 和 Main class 選項(xiàng)內(nèi)容正確,如圖 6 所示。其中的 Name 參數(shù)可以設(shè)置為任何方便識(shí)別的名字。
圖 6. 配置運(yùn)行文件—設(shè)置工程和類

然后在 Classpath 頁(yè)選擇 UserEntries 選項(xiàng),此時(shí)右邊的 Advanced 按鈕處于激活狀態(tài),點(diǎn)擊它,在彈出的對(duì)話框中選擇“Add Folders”,然后選擇 MyHeritrix 工程下的 conf 文件夾。如圖 7 所示。
圖 7. 添加配置文件

至此我們的 MyHeritrix 工程已經(jīng)可以運(yùn)行起來了。下面我們來看看如何啟動(dòng) Heritrix 并設(shè)置一個(gè)具體的抓取任務(wù)。
5.創(chuàng)建網(wǎng)頁(yè)抓取任務(wù)
找到 org.archive.crawler 包中的 Heritrix.java 文件,它是 Heritrix 爬蟲啟動(dòng)的入口,右鍵單擊選擇“Run As Java Application”,如果配置正確,會(huì)在控制臺(tái)輸出如圖 8 所示的啟動(dòng)信息。
圖 8. 運(yùn)行成功時(shí)控制臺(tái)輸出

瀏覽器中輸入 http://localhost:8080,會(huì)打開如圖 9 所示的 Web UI 登錄界面。


輸入之前設(shè)置的用戶名 / 密碼:admin/admin,進(jìn)入到 Heritrix 的管理界面,如圖 10 所示。因?yàn)槲覀冞沒有創(chuàng)建抓取任務(wù),所以 Jobs 顯示為 0。
圖 10. Heritrix 控制臺(tái)

Heritrix 使用 Web 用戶界面來啟動(dòng)、設(shè)置爬行參數(shù)并監(jiān)控爬行,簡(jiǎn)單直觀,易于管理。下面我們以北京林業(yè)大學(xué)首頁(yè) (http://www.bjfu.edu.cn/) 為種子站點(diǎn)來創(chuàng)建一個(gè)抓取實(shí)例。
在 Jobs 頁(yè)面創(chuàng)建一個(gè)新的抓取任務(wù),如圖 11 所示,可以創(chuàng)建四種任務(wù)類型。
圖 11. 創(chuàng)建抓取任務(wù)

Based on existing job:以一個(gè)已經(jīng)有的抓取任務(wù)為模板生成新的抓取任務(wù)。
Based on a recovery:在以前的某個(gè)任務(wù)中,可能設(shè)置過一些狀態(tài)點(diǎn),新的任務(wù)將從這個(gè)設(shè)置的狀態(tài)點(diǎn)開始。
Based on a profile:專門為不同的任務(wù)設(shè)置了一些模板,新建的任務(wù)將按照模板來生成。
With defaults:這個(gè)最簡(jiǎn)單,表示按默認(rèn)的配置來生成一個(gè)任務(wù)。
這里我們選擇“With defaults”,然后輸入任務(wù)相關(guān)信息,如圖 12 所示。
圖 12. 創(chuàng)建抓取任務(wù)“BJFU”

注意圖 11 中下方的按鈕,通過這些按鈕可以對(duì)抓取工作進(jìn)行詳細(xì)的設(shè)置,這里我們只做一些必須的設(shè)置。
首先點(diǎn)擊“Modules”按鈕,在相應(yīng)的頁(yè)面為此次任務(wù)設(shè)置各個(gè)處理模塊,一共有七項(xiàng)可配置的內(nèi)容,這里我們只設(shè)置 Crawl Scope 和 Writers 兩項(xiàng),下面簡(jiǎn)要介紹各項(xiàng)的意義。
1)Select Crawl Scope:Crawl Scope 用于配置當(dāng)前應(yīng)該在什么范圍內(nèi)抓取網(wǎng)頁(yè)鏈接。例如選擇 BroadScope 則表示當(dāng)前的抓取范圍不受限制,選擇 HostScope 則表示抓取的范圍在當(dāng)前的 Host 范圍內(nèi)。在這里我們選擇 org.archive.crawler.scope.BroadScope,并單擊右邊的 Change 按鈕保存設(shè)置狀態(tài)。
2)Select URI Frontier:Frontier 是一個(gè) URL 的處理器,它決定下一個(gè)被處理的 URL 是什么。同時(shí),它還會(huì)將經(jīng)由處理器鏈解析出來的 URL 加入到等待處理的隊(duì)列中去。這里我們使用默認(rèn)值。
3)Select Pre Processors:這個(gè)隊(duì)列的處理器是用來對(duì)抓取時(shí)的一些先決條件進(jìn)行判斷。比如判斷 robot.txt 信息等,它是整個(gè)處理器鏈的入口。這里我們使用默認(rèn)值。
4)Select Fetchers:這個(gè)參數(shù)用于解析網(wǎng)絡(luò)傳輸協(xié)議,比如解析 DNS、HTTP 或 FTP 等。這里我們使用默認(rèn)值。
5)Select Extractors:主要是用于解析當(dāng)前服務(wù)器返回的內(nèi)容,取出頁(yè)面中的 URL,等待下次繼續(xù)抓取。這里我們使用默認(rèn)值。
6)Select Writers:它主要用于設(shè)定將所抓取到的信息以何種形式寫入磁盤。一種是采用壓縮的方式(Arc),還有一種是鏡像方式(Mirror)。這里我們選擇簡(jiǎn)單直觀的鏡像方式:org.archive.crawler.writer.MirrorWriterProcessor。
7)Select Post Processors:這個(gè)參數(shù)主要用于抓取解析過程結(jié)束后的掃尾工作,比如將 Extrator 解析出來的 URL 有條件地加入到待處理的隊(duì)列中去。這里我們使用默認(rèn)值。
設(shè)置完畢后的效果如圖 13:

圖 13. 設(shè)置 Modules
設(shè)置完“Modules”后,點(diǎn)擊“Settings”按鈕,這里只需要設(shè)置 user-agent 和 from,其中:
“@VERSION@”字符串需要被替換成 Heritrix 的版本信息。
“PROJECT_URL_HERE”可以被替換成任何一個(gè)完整的 URL 地址。
“from”屬性中不需要設(shè)置真實(shí)的 E-mail 地址,只要是格式正確的郵件地址就可以了。
對(duì)于各項(xiàng)參數(shù)的解釋,可以點(diǎn)擊參數(shù)前的問號(hào)查看。本次任務(wù)設(shè)置如圖 14 所示。
圖 14. 設(shè)置 Settings

完成上述設(shè)置后點(diǎn)擊“Submit job”鏈接,然后回到 console 控制臺(tái),可以看到我們剛剛創(chuàng)建的任務(wù)處于 pending 狀態(tài),如圖 15 所示。
圖 15. 啟動(dòng)任務(wù)

點(diǎn)擊“Start”啟動(dòng)任務(wù),刷新一下即可看到抓取進(jìn)度以及相關(guān)參數(shù)。同時(shí)可以暫;蚪K止抓取過程,如圖 16 所示。需要注意的是,進(jìn)度條的百分比數(shù)量并不是準(zhǔn)確的,這個(gè)百分比是實(shí)際上已經(jīng)處理的鏈接數(shù)和總共分析出的鏈接數(shù)的比值。隨著抓取工作不斷進(jìn)行,這個(gè)百分比的數(shù)字也在不斷變化。
圖 16. 開始抓取

同時(shí),在 MyHeritrix 工程目錄下自動(dòng)生成“jobs”文件夾,包含本次抓取任務(wù)。抓取下來網(wǎng)頁(yè)以鏡像方式存放,也就是將 URL 地址按“/”進(jìn)行切分,進(jìn)而按切分出來的層次存儲(chǔ)。如圖 17 所示。
圖 17. 抓取到的網(wǎng)頁(yè)

從圖 17 也可以看出,因?yàn)槲覀冞x擇了 BroadScope 的抓取范圍,爬蟲會(huì)抓取所有遇到的 URL,這樣會(huì)造成 URL 隊(duì)列無限制膨脹,無法終止,只能強(qiáng)行終止任務(wù)。盡管 Heritrix 也提供了一些抓取范圍控制的類,但是根據(jù)實(shí)際測(cè)試經(jīng)驗(yàn),如果想要完全實(shí)現(xiàn)自己的抓取邏輯,僅僅靠 Heritrix 提供的抓取控制是不夠的,只能修改擴(kuò)展源代碼。

  • MyEclipse軟件合集
  • c++編譯器軟件大全
  • 安卓開發(fā)工具
  • java開發(fā)工具
MyEclipse軟件合集
(57)MyEclipse軟件合集

java開發(fā)程序MyEclipse是在eclipse的基礎(chǔ)上加上了自己的插件,可以幫助企業(yè)集成更強(qiáng)大的開發(fā)環(huán)境,同時(shí)也是JavaEE的集成開發(fā)環(huán)境,東坡這里將所有MyEclipse軟件整理了一個(gè)合集分享給大家,有破解版,有相關(guān)插件,還有注冊(cè)機(jī)等,需要的可以自己選擇下載!

...更多>>
c++編譯器軟件大全
(6)c++編譯器軟件大全

c++編譯器是現(xiàn)在學(xué)習(xí)以及需要c++編程的朋友都是離不開一款不錯(cuò)的c++編譯器的,那么你想知道現(xiàn)在最好使用的c++編譯器是哪些以及適合c++編譯器的都是哪些軟件嗎?下面是小編精心的給有需要使用到c++編譯器的朋友挑選的一些網(wǎng)絡(luò)上評(píng)價(jià)比較好的c++編譯器,大家趕快來挑選一下吧!

...更多>>
安卓開發(fā)工具
(14)安卓開發(fā)工具

安卓開發(fā)軟件以及游戲在現(xiàn)在是非常的熱門的行業(yè)的,那么想更好的開發(fā)出各種安卓應(yīng)用以及游戲,就需要有一些不錯(cuò)的安卓開發(fā)工具軟件來幫助你了!現(xiàn)在有需要下載一些安卓開發(fā)環(huán)境搭建以及安卓開發(fā)視頻教程的朋友就可以來本站這里瞧瞧看看,有哪些是你現(xiàn)在需要使用到的!

...更多>>
  • iTestin(自動(dòng)化APP測(cè)試工具)4.2.4

    08-13 / 90.6M

    推薦理由:iTestin是一款自動(dòng)化APP測(cè)試工具,iTestin基于Windows平臺(tái),為Android和iOS設(shè)備提供黑盒測(cè)試的自動(dòng)化工具,
  • Android Studio 下載2017 最新更新

    10-19 / 1.80G

    推薦理由:AndroidStudio開發(fā)工具是一款基于app開發(fā)的軟件,此版本軟件已經(jīng)非常穩(wěn)定了,不會(huì)出現(xiàn)各種bug,此軟件相比E
  • 微軟PowerApps1.0官方綠色版

    05-09 / 21.8M

    推薦理由:PowerApps是一款SaaS產(chǎn)品,通過類似Office365的環(huán)境,用戶可以輕易地將各種已有的多種云端服務(wù)和企業(yè)內(nèi)部數(shù)
  • 百寶云開發(fā)工具1.003 官網(wǎng)破解vip版

    01-06 / 4.7M

    推薦理由:百寶云開發(fā)工具主要是針對(duì)云服務(wù)定制的一款開發(fā)平臺(tái)工具,不需要繁復(fù)的操作,只需要懂簡(jiǎn)單的百寶云腳本、服
  • 融云Android SDK2.3.3 全能開發(fā)版

    10-21 / 5.5M

    推薦理由:融云AndroidSDK,0成本投入,無縫融合,快速集成,服務(wù)穩(wěn)定,提供多平臺(tái)SDK及API,只需幾行代碼,即可實(shí)現(xiàn)豐
  • 安卓開發(fā)環(huán)境(Android Studio) Win

    06-03 / 361.2M

    推薦理由:AndroidStudio是谷歌開發(fā)的一個(gè)全新的Android開發(fā)環(huán)境,該工具的開發(fā)環(huán)境和模式更加的豐富和便捷,能夠支持
java開發(fā)工具
(11)java開發(fā)工具

java開發(fā)工具是現(xiàn)在一些java工程師們都是需要使用到的開發(fā)工具,但是很多的java開發(fā)工具的功能都是不一樣的,學(xué)習(xí)java的程度不一樣,就會(huì)使用到不一樣的java開發(fā)工具!想找到一些適合自己的水平的java開發(fā)工具,就可以來本站為你精心挑選的一些適合初學(xué)者以及大神級(jí)的java開發(fā)工具,總會(huì)有一款是適合你的!

...更多>>
  • Myeclipse10.7.1破解版【附注冊(cè)碼】

    09-27 / 852.9M

    推薦理由:Myeclipse10.7.1是一款非常不錯(cuò)的程序開發(fā)軟件,軟件主要用于Java、JavaEE以及移動(dòng)應(yīng)用的開發(fā)。該軟件功能十
  • myeclipse 2017 ci8正式版最新版【

    09-22 / 29.1M

    推薦理由:myeclipse2017ci8是最新版本的myeclipse工具,新版修復(fù)了很多問題,在參數(shù)上面加了高級(jí)設(shè)置,可以自動(dòng)檢測(cè),
  • myeclipse9.0中文版官方簡(jiǎn)體中文版

    05-24 / 911.7M

    推薦理由:作為一款使用非常廣泛的java開發(fā)平臺(tái),myeclipse的使用非常的廣泛,但是因?yàn)闆]有官方中文版,導(dǎo)致很多新用戶
  • javasntm編程軟件1.0 綠色版

    09-08 / 16M

    推薦理由:javasntm編程軟件一款很不錯(cuò)的長(zhǎng)須調(diào)試編程軟件,這款軟件操作簡(jiǎn)單,使用方便,擁有窗口探測(cè)、json解析、百
  • java class反編譯工具(Class反編譯

    08-15 / 838KB

    推薦理由:對(duì)class文件進(jìn)行加密混淆的類文件,一般情況下,我們是看不到其源代碼的。 這里為您提供的是javaclass反編
  • Wijmo新一代JavaScript控件3.0 官網(wǎng)

    03-21 / 144.7M

    推薦理由:Wijmo是一款JavaScript控件擁有靈活的API,為用戶提供便捷的操作體驗(yàn),幫助程序員開發(fā)出精美的產(chǎn)品!歡迎來

擴(kuò)展知識(shí)

相關(guān)評(píng)論

閱讀本文后您有什么感想? 已有 人給出評(píng)價(jià)!

  • 2791 喜歡喜歡
  • 2101 頂
  • 800 難過難過
  • 1219 囧
  • 4049 圍觀圍觀
  • 5602 無聊無聊
熱門評(píng)論
最新評(píng)論
發(fā)表評(píng)論 查看所有評(píng)論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)