Heritrix各個類說明

  Heritrix的類的確很繁瑣,往往繼承了一層又一層,最多的繼承好像有7層。下面就一個包一個包的說明每個類的作用,由於裏面Heritrix組件分明,很多組件沒用到的同時該組件的類我也沒怎麼接觸,所以這裏會忽略一部分,如果有知道的請補充,謝謝!如果對包還有不熟悉的,可以查看我前面的文章,這裏也給出鏈接http://guoyunsky.javaeye.com/admin/blogs/613249

 

 1.org.archive.crawler
序號 說明
1 CommandLineParser Heritrix也可以通過CMD命令進行操作,該類用於解析CMD命令
2 Heritrix Heritrix主類,可以通過該類啓動Heritrix
3 SimpleHttpServer Heritrix Web服務器,可以通過Web管理Heritrix
4 WebappLifecycle 封裝Servlet,如此纔可以通過Web啓動Heritrix,裏面裝載Heritrix對象

 

2.org.archive.crawler.admin
序號  類  說明
1  CrawlJob  Heritrix的核心類,代表着一個抓取任務,order.xml中大部分屬性都圍繞其配置,以後會着重說明
2  CrawlJobErrorHandler  維護者一個抓取任務(CrawlJob)的錯誤日誌,UI中顯示的JOB錯誤就來自於它
3  CrawlJobHandler  抓取任務處理器,Heritrix可以有多個抓取任務,都由它進行管理
4  InvalidJobFileException  抓取任務文件異常,意義不大
5  SeedRecord  記錄種子的處理記錄,如該種子重定向到哪個URL,在seeds.txt裏面會有說明,該重定向值就來源於它
6  StatisticsSummary  統計摘要類,所用不多
7  StatisticsTracker  Heritrix核心類,統計跟蹤器,貫穿整個Heritrix的運行,如統計抓取了多少URL,以後會着重說明

 

 

3.org.archive.crawler.admin.ui
序號 說明
1 CookieUtils Cookie工具類,主要用於訪問Cookie
2 JobConfigureUtils CrawlJob配置管理工具類,當你通過Web Ui去配置一個CrawlJob時就會用到這個類
3 RootFilter 不熟

 

 

4.org.archive.crawler.datamodel
序號 說明
1 CandidateURI Heritrix的核心類,代表着一個URL,貫穿整個抓取,與CrawlURI的區別是它還沒有通過調度器(Frontier),只有通過了調度器的URL纔可能去獲取網頁內容區下載等,以後會着重說明
2 CandidateURITest CandidateURI的測試類,比如可以用它獲知如何創建CanditeURI
3 Checkpoint Heritrix會定期備份它的數據,如日誌、正在獲取的URL內容,都是在底層定時運行,當Heritrix異常中斷可以通過它來恢復.也類似於各個數據庫的Ckeckpoint
4 CoreAttributeConstants 裝載着Heritrix的基本屬性變量名,一般是對應order.xml中的標籤名
5 CrawlHost Heiritrix的核心類,代表着一個Host,裏面主要包含域名、IP。由於Heritrix可以控制抓取速度,如對一個Host的抓取速度,這個類就代表着那個Host.以後會着重說明
6 CrawlOrder Heritrix的核心類,基本上對應着order.xml的各個屬性值,除了各個組件的詳細屬性,以後會着重說明
7 CrawlServer Heritrix的核心類,也對應着一個Host,裏面裝載着一個Host的各種Heritrix數據,如統計信息、爬蟲協議
8 CrawlSubstats 抓取統計類,主要統計抓取Url的個數、成功的個數、下載的字節數等等
9 CrawlURI CandidateURI的子類,主要比CaidiateURI多了網頁內容指紋、所屬隊列、組件處理器等
10  CredentialStore  憑證存儲類,負責存儲各種憑證,如登陸
11  FetchStatusCodes  抓取狀態,有不同的屬性代表不同的抓取狀態,如DNS獲取成功:S_DNS_SUCCESS
12  RobotsHonoringPolicy  爬蟲協議,代表着不同的抓取策略
13  Robotstxt  爬蟲協議,用於解析robots.txt
14  ServerCache  服務器緩存,主要緩存CrawlHost和CrawlServer
15 UriUniqFilter 接口,用於過濾已經抓取過的URL

 

 

5.org.archive.crawler.datamodel.credential

序號 類 說明 1 Credential 憑證類,代表着一個憑證,從order.xml配置文件中獲取數據 2 CredentialAvatar 代表着一個具體的憑證 3 HtmlFormCredential Credential的子類,代表着提交HTML FORM表單時所需要的憑證 4 Rfc2617Credential Credential的子類,代表着RFC2617 HTTP 認證憑證

 

 

6.org.archive.crawler.deciderules
序號 說明
1 AcceptDecideRule URL規則,表示接受
2 ConfiguredDecideRule URL規則,通過order.xml文件中的配置來決定是否拒絕(REJECT)或接受(ACCEPT)
3 DecideRule URL規則的父類,審覈一個URL是否接受(ACCEPT)、拒絕(REJECT)或放棄(PASS),通過decisionFor(Object object)方法,該方法由其子類實現
4  DecidingScope  驗證一個URL是否在範圍來決定是否接受、拒絕或放棄
5  MatchesRegExpDecideRule  通過配置的正則表達式來決定URL是否可接受、拒絕或放棄
6  NotMatchesRegExpDecideRule  MatchesRegExpDecideRule的子類,如果URL不匹配該正則則接受
7  PathologicalPathDecideRule  如果URL中相同目錄名超過配置文件中的個數,則拒絕,如http://www.xxx.com/a/a/a/a/a其中a的個數超過一定限制則拒絕
8  PrerequisiteAcceptDecideRule  如果URL中有先決條件URL則接受,也就是該CandidateURI裏的pathFromSeed屬性裏含有P,表示運行該URL之前有先要運行的URL
9  RejectDecideRule  URL規則,表示拒絕
10  TooManyHopsDecideRule  如果超過配置文件中的約點數(max-hops),則拒絕

 

 

7.org.archive.crawler.event
序號 說明
1 CrawlStatusListener 爬蟲監聽器,如監聽爬蟲是否在運行,是否暫停等
2 CrawlURIDispositionListener URL監聽器,如監聽URL是否失敗,是要要重新抓取等

 

 

8.org.archive.crawler.extractor
序號 說明
1 Extractor 所有抽取類的父類,用於從一個URL中抽取出新的URL
2 ExtractorCSS 從CSS中抽取出新的URL
3 ExtractorDOC 從DOC中抽取出新的URL
4 ExtractorHTML 從HTML中抽取出新的URL,Heritrix核心類
5 ExtractorHTTP 從HTTP中抽取出新的URL
6 ExtractorJS 從Javascript中抽取出新的URL
7 ExtractorPDF 從PDF中抽取出新的URL
8 ExtractorSWF 從SWF中抽取出新的URL
9 ExtractorXML 從XML中抽取出新的URL
10 HTTPContentDigest 網頁內容文摘,實際上是通過MD5或SHA1算法將網頁內容指紋化
11 Link 鏈接,代表抽取出來的URL
  Heritrix的類的確很繁瑣,往往繼承了一層又一層,最多的繼承好像有7層。下面就一個包一個包的說明每個類的作用,由於裏面Heritrix組件分明,很多組件沒用到的同時該組件的類我也沒怎麼接觸,所以這裏會忽略一部分,如果有知道的請補充,謝謝!如果對包還有不熟悉的,可以查看我前面的文章,這裏也給出鏈接http://guoyunsky.javaeye.com/admin/blogs/613249

 

 1.org.archive.crawler
序號 說明
1 CommandLineParser Heritrix也可以通過CMD命令進行操作,該類用於解析CMD命令
2 Heritrix Heritrix主類,可以通過該類啓動Heritrix
3 SimpleHttpServer Heritrix Web服務器,可以通過Web管理Heritrix
4 WebappLifecycle 封裝Servlet,如此纔可以通過Web啓動Heritrix,裏面裝載Heritrix對象

 

2.org.archive.crawler.admin
序號  類  說明
1  CrawlJob  Heritrix的核心類,代表着一個抓取任務,order.xml中大部分屬性都圍繞其配置,以後會着重說明
2  CrawlJobErrorHandler  維護者一個抓取任務(CrawlJob)的錯誤日誌,UI中顯示的JOB錯誤就來自於它
3  CrawlJobHandler  抓取任務處理器,Heritrix可以有多個抓取任務,都由它進行管理
4  InvalidJobFileException  抓取任務文件異常,意義不大
5  SeedRecord  記錄種子的處理記錄,如該種子重定向到哪個URL,在seeds.txt裏面會有說明,該重定向值就來源於它
6  StatisticsSummary  統計摘要類,所用不多
7  StatisticsTracker  Heritrix核心類,統計跟蹤器,貫穿整個Heritrix的運行,如統計抓取了多少URL,以後會着重說明

 

 

3.org.archive.crawler.admin.ui
序號 說明
1 CookieUtils Cookie工具類,主要用於訪問Cookie
2 JobConfigureUtils CrawlJob配置管理工具類,當你通過Web Ui去配置一個CrawlJob時就會用到這個類
3 RootFilter 不熟

 

 

4.org.archive.crawler.datamodel
序號 說明
1 CandidateURI Heritrix的核心類,代表着一個URL,貫穿整個抓取,與CrawlURI的區別是它還沒有通過調度器(Frontier),只有通過了調度器的URL纔可能去獲取網頁內容區下載等,以後會着重說明
2 CandidateURITest CandidateURI的測試類,比如可以用它獲知如何創建CanditeURI
3 Checkpoint Heritrix會定期備份它的數據,如日誌、正在獲取的URL內容,都是在底層定時運行,當Heritrix異常中斷可以通過它來恢復.也類似於各個數據庫的Ckeckpoint
4 CoreAttributeConstants 裝載着Heritrix的基本屬性變量名,一般是對應order.xml中的標籤名
5 CrawlHost Heiritrix的核心類,代表着一個Host,裏面主要包含域名、IP。由於Heritrix可以控制抓取速度,如對一個Host的抓取速度,這個類就代表着那個Host.以後會着重說明
6 CrawlOrder Heritrix的核心類,基本上對應着order.xml的各個屬性值,除了各個組件的詳細屬性,以後會着重說明
7 CrawlServer Heritrix的核心類,也對應着一個Host,裏面裝載着一個Host的各種Heritrix數據,如統計信息、爬蟲協議
8 CrawlSubstats 抓取統計類,主要統計抓取Url的個數、成功的個數、下載的字節數等等
9 CrawlURI CandidateURI的子類,主要比CaidiateURI多了網頁內容指紋、所屬隊列、組件處理器等
10  CredentialStore  憑證存儲類,負責存儲各種憑證,如登陸
11  FetchStatusCodes  抓取狀態,有不同的屬性代表不同的抓取狀態,如DNS獲取成功:S_DNS_SUCCESS
12  RobotsHonoringPolicy  爬蟲協議,代表着不同的抓取策略
13  Robotstxt  爬蟲協議,用於解析robots.txt
14  ServerCache  服務器緩存,主要緩存CrawlHost和CrawlServer
15 UriUniqFilter 接口,用於過濾已經抓取過的URL

 

 

5.org.archive.crawler.datamodel.credential

序號 類 說明 1 Credential 憑證類,代表着一個憑證,從order.xml配置文件中獲取數據 2 CredentialAvatar 代表着一個具體的憑證 3 HtmlFormCredential Credential的子類,代表着提交HTML FORM表單時所需要的憑證 4 Rfc2617Credential Credential的子類,代表着RFC2617 HTTP 認證憑證

 

 

6.org.archive.crawler.deciderules
序號 說明
1 AcceptDecideRule URL規則,表示接受
2 ConfiguredDecideRule URL規則,通過order.xml文件中的配置來決定是否拒絕(REJECT)或接受(ACCEPT)
3 DecideRule URL規則的父類,審覈一個URL是否接受(ACCEPT)、拒絕(REJECT)或放棄(PASS),通過decisionFor(Object object)方法,該方法由其子類實現
4  DecidingScope  驗證一個URL是否在範圍來決定是否接受、拒絕或放棄
5  MatchesRegExpDecideRule  通過配置的正則表達式來決定URL是否可接受、拒絕或放棄
6  NotMatchesRegExpDecideRule  MatchesRegExpDecideRule的子類,如果URL不匹配該正則則接受
7  PathologicalPathDecideRule  如果URL中相同目錄名超過配置文件中的個數,則拒絕,如http://www.xxx.com/a/a/a/a/a其中a的個數超過一定限制則拒絕
8  PrerequisiteAcceptDecideRule  如果URL中有先決條件URL則接受,也就是該CandidateURI裏的pathFromSeed屬性裏含有P,表示運行該URL之前有先要運行的URL
9  RejectDecideRule  URL規則,表示拒絕
10  TooManyHopsDecideRule  如果超過配置文件中的約點數(max-hops),則拒絕

 

 

7.org.archive.crawler.event
序號 說明
1 CrawlStatusListener 爬蟲監聽器,如監聽爬蟲是否在運行,是否暫停等
2 CrawlURIDispositionListener URL監聽器,如監聽URL是否失敗,是要要重新抓取等

 

 

8.org.archive.crawler.extractor
序號 說明
1 Extractor 所有抽取類的父類,用於從一個URL中抽取出新的URL
2 ExtractorCSS 從CSS中抽取出新的URL
3 ExtractorDOC 從DOC中抽取出新的URL
4 ExtractorHTML 從HTML中抽取出新的URL,Heritrix核心類
5 ExtractorHTTP 從HTTP中抽取出新的URL
6 ExtractorJS 從Javascript中抽取出新的URL
7 ExtractorPDF 從PDF中抽取出新的URL
8 ExtractorSWF 從SWF中抽取出新的URL
9 ExtractorXML 從XML中抽取出新的URL
10 HTTPContentDigest 網頁內容文摘,實際上是通過MD5或SHA1算法將網頁內容指紋化
11 Link 鏈接,代表抽取出來的URL

歡迎訪問個人博客:http://zhangxichuan.science

發佈了17 篇原創文章 · 獲贊 2 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章