日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【Heritrix基础教程之1】在Eclipse中配置Heritrix

發布時間:2024/1/23 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Heritrix基础教程之1】在Eclipse中配置Heritrix 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


一、新建項目并將Heritrix源碼導入

1、下載heritrix-1.14.4-src.zip和heritrix-1.14.4.zip兩個壓縮包,并解壓,以后分別簡稱SRC包和ZIP包;
2、在Eclipse下新建Java項目,取名Heritrix.1.14.4;
3、復制SRC包下面src/java文件夾下org和st兩個文件夾到項目中的src包下;
4、復制SRC包下src下conf文件夾到項目根目錄;
5、復制SRC包下lib文件夾到項目根目錄;
6、復制ZIP包下webapps文件夾到項目根目錄;



7、修改項目下conf下heritrix.properties文件

heritrix.version = <span style="color:#ff0000;">1.14.4</span># Location of the heritrix jobs directory. heritrix.jobsdir = jobs# Default commandline startup values. # Below values are used if unspecified on the command line. heritrix.cmdline.admin = <span style="color:#ff0000;">admin:admin</span> heritrix.cmdline.port = <span style="color:#ff0000;">8080</span>主要修改 version, 用戶名、密碼及端口號

8、在項目上右鍵選擇構建路徑->配置構建路徑->庫選項卡->添加Jar,將lib目錄下的所有.jar文件選中,點擊完成!
9、在項目/src/org.archive.crawler包下Heritrix.java上點擊右鍵選Run as->Run Configurations->Classpath->User Entries->Advanced->Add Folder->選擇項目下conf文件夾,最后點擊Run


然后,就可以從http://127.0.0.1:8080/中登錄系統。



在Liunx上運行heritrix

(1)export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/home/jediael/Heritirx1.14.4/lib/*:/home/jediael/Heritirx1.14.4/bin/*:/home/jediael/Heritirx1.14.4/conf/*
(2)cp -r webapps/ bin/
(3)cd bin
?(4)java org.archive.crawler.Heritrix

注意此種方法只能在本機上通過127.0.0.1來進行訪問,因為代碼中寫了:

? ? ? ? final String ROOTURI = "127.0.0.1:" + Integer.toString(port);
? ? ? ? String selfTestUrl = "http://" + ROOTURI + '/';

即只用于本機測試。

二、配置爬蟲任務并開始下載

1、登錄系統 admin/admin


2、點擊Jobs--->create new job---->with defaults


每次新建一個job,都等于創建一個新的order.xml。在Heritrix中,每個任務對應一個order.xml,用于描述任務的屬性。它用于指定Job的Processor類、Frontier類、Fetcher類、抓取時的最大線程數、最長超時等屬性。



3、輸入基本信息,注意seeds中最后必須有一個"/"



4、選擇下邊的"Modules",進入Module配置頁(Heritrix的擴展功能都是通過模塊概念實現的,可以實現自己的模塊完成自己? 想要的功能)。其中第一項 "Select Crawl Scope" 使用默認的"org.archive.crawler.deciderules.DecidingScope"? ? ?。倒數第三項 "Select Writers " 刪除默認的 "org.archive.crawler.writer.ARCWriterProcessor" ,后添加? "org.archive.crawler.writer.MirrorWriterProcessor",這樣執行任務的時候抓取到的頁面會以鏡像的方式放在本地的?目錄結構中,而不是生成ARC存檔文件。



?
5、選擇"Modules"右邊的"Submodules",在第一項內容中 "crawl-order ->scope->decide-rules->rules" 刪除掉其中的 "acceptIfTranscluded" (org.archive.crawler.deciderules.TransclusionDecideRule) 的這一項抓取作用域的?規則。否則當Http請求返回301或者302時Heritrix會去抓取其他域下的網頁。?
?
6、在WUI的第二行導航欄中選擇"Settings"進入Job的配置頁面,其中主要修改兩項:http-headers 下的user-agent 和from,他們的"PROJECT_URL_HERE" 和 "CONTACT_EMAIL_ADDRESS_HERE" 替換為自己的內容?("PROJECT_URL_HERE" 要以 "http://" 開頭)
?
7、在WUI的第二行導航欄中選擇最右邊的"Submit job"
?
8、在WUI的第一行導航欄中選擇第一項的"Console",點擊"Start",抓取任務正式開始,時間長短有網絡狀況和所抓取網站的?深度有關。點擊"refresh"可以監控下載情況



還可點擊logs等觀察日志。

9、默認情況下,文件下載至"項目位置\jobs"。


三、一些說明

1、創建項目后,Heritrix中報錯:sun.net.www.protocol.file.FileURLConnection,原因為sun包是受保護的包,默認只有sun公司的軟件才能使用。Eclipse會報錯,把對保護使用waring就可以了。

步驟如下:Windows -> Preferences -> Java -> Compiler -> Errors/Warnings-> Deprecated and trstricted API -> Forbidden reference (access rules): -> change to warning



2、在進入module配置頁,若發現所有的配置可以刪除,移動,但是不可以添加和修改,沒有可選的下拉框。原因為配置文件找不到,應該在classpath標簽頁添加配置文件的路徑。

即第一部分的第9步。

3、問題: thread-10 org.archive.util.ArchiveUtils.<clinit>() TLD list unavailable
java.lang.NullPointerException
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at org.archive.util.ArchiveUtils.<clinit>(ArchiveUtils.java:759)
解決:將heritrix-1.14.4-src.zip解壓中src/resources/org/archive/util中tlds-alpha-by-domain.txt文件復制到工程中org.archive.util包下。


四、Modules中的一些配置項

在Modules界面中,共有8個選項需要配置,包括以下

1、Crawl Scope

用于配置抓取范圍。選項請見下圖。

根據名稱可以直觀的知道抓取范圍,默認是BroadScope,即不限制范圍。

從下拉框中選擇某一項后,點擊chang按鍵,則下拉框上面的解釋會相應的發生變化,描述當前選項的特征。



2、URI Frontier

用于確定待抓取的url的順序,亦即相應的算法。默認項為BdbFrontier。


3、Pre ProcessorsProcessors that should run before any fetching

在抓取前,處理器對一些先決條件做的判斷。比如判斷robot.txt等信息,它是整個處理器鏈的入口。


4、FetchersProcessors that fetch documents using various protocols

指定解釋、提取哪些類型的文件


5、ExtractorsProcessors that extracts links from URIs

用于提取當前獲取到文件的信息。


6、Writers:Processors that write documents to archive files

選擇保存的方式,常用的有2種:

org.archive.crawler.writer.MirrorWriterProcessor:保存鏡像,即將文件直接下載下來。

org.archive.crawler.writer.ARCWriterProcessor:以歸檔的格式下載下來,此時文件不可直接查看。此項為default模塊的默認選項。


7、Post Processors?Processors that do cleanup and feed the Frontier with new URIs

抓取后的收尾工作。


8、Statistics Tracking

用于一些統計信息。



五、Setting中的一些配置項


修改下載文件的路徑



總結

以上是生活随笔為你收集整理的【Heritrix基础教程之1】在Eclipse中配置Heritrix的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。