Heritrix的類的確很繁瑣,往往繼承了一層又一層,最多的繼承好像有7層。下面就一個包一個包的說明每個類的作用,由于里面Heritrix組件分明,很多組件沒用到的同時該組件的類我也沒怎么接觸,所以這里會忽略一部分,如果有知道的請補充,謝謝!如果對包還有不熟悉的,可以查看我前面的文章,這里也給出鏈接 http://guoyunsky./admin/blogs/613249
1.org.archive.crawler
序號 |
類 |
說明 |
1 |
CommandLineParser |
Heritrix也可以通過CMD命令進(jìn)行操作,該類用于解析CMD命令 |
2 |
Heritrix |
Heritrix主類,可以通過該類啟動Heritrix |
3 |
SimpleHttpServer |
Heritrix Web服務(wù)器,可以通過Web管理Heritrix |
4 |
WebappLifecycle |
封裝Servlet,如此才可以通過Web啟動Heritrix,里面裝載Heritrix對象 |
2.org.archive.crawler.admin
序號 |
類 |
說明 |
1 |
CrawlJob |
Heritrix的核心類,代表著一個抓取任務(wù),order.xml中大部分屬性都圍繞其配置,以后會著重說明 |
2 |
CrawlJobErrorHandler |
維護(hù)者一個抓取任務(wù)(CrawlJob)的錯誤日志,UI中顯示的JOB錯誤就來自于它 |
3 |
CrawlJobHandler |
抓取任務(wù)處理器,Heritrix可以有多個抓取任務(wù),都由它進(jìn)行管理 |
4 |
InvalidJobFileException |
抓取任務(wù)文件異常,意義不大 |
5 |
SeedRecord |
記錄種子的處理記錄,如該種子重定向到哪個URL,在seeds.txt里面會有說明,該重定向值就來源于它 |
6 |
StatisticsSummary |
統(tǒng)計摘要類,所用不多 |
7 |
StatisticsTracker |
Heritrix核心類,統(tǒng)計跟蹤器,貫穿整個Heritrix的運行,如統(tǒng)計抓取了多少URL,以后會著重說明 |
3.org.archive.crawler.admin.ui
序號 |
類 |
說明 |
1 |
CookieUtils |
Cookie工具類,主要用于訪問Cookie |
2 |
JobConfigureUtils |
CrawlJob配置管理工具類,當(dāng)你通過Web Ui去配置一個CrawlJob時就會用到這個類 |
3 |
RootFilter |
不熟 |
4.org.archive.crawler.datamodel
序號 |
類 |
說明 |
1 |
CandidateURI |
Heritrix的核心類,代表著一個URL,貫穿整個抓取,與CrawlURI的區(qū)別是它還沒有通過調(diào)度器(Frontier),只有通過了調(diào)度器的URL才可能去獲取網(wǎng)頁內(nèi)容區(qū)下載等,以后會著重說明 |
2 |
CandidateURITest |
CandidateURI的測試類,比如可以用它獲知如何創(chuàng)建CanditeURI |
3 |
Checkpoint |
Heritrix會定期備份它的數(shù)據(jù),如日志、正在獲取的URL內(nèi)容,都是在底層定時運行,當(dāng)Heritrix異常中斷可以通過它來恢復(fù).也類似于各個數(shù)據(jù)庫的Ckeckpoint |
4 |
CoreAttributeConstants |
裝載著Heritrix的基本屬性變量名,一般是對應(yīng)order.xml中的標(biāo)簽名 |
5 |
CrawlHost |
Heiritrix的核心類,代表著一個Host,里面主要包含域名、IP。由于Heritrix可以控制抓取速度,如對一個Host的抓取速度,這個類就代表著那個Host.以后會著重說明 |
6 |
CrawlOrder |
Heritrix的核心類,基本上對應(yīng)著order.xml的各個屬性值,除了各個組件的詳細(xì)屬性,以后會著重說明 |
7 |
CrawlServer |
Heritrix的核心類,也對應(yīng)著一個Host,里面裝載著一個Host的各種Heritrix數(shù)據(jù),如統(tǒng)計信息、爬蟲協(xié)議 |
8 |
CrawlSubstats |
抓取統(tǒng)計類,主要統(tǒng)計抓取Url的個數(shù)、成功的個數(shù)、下載的字節(jié)數(shù)等等 |
9 |
CrawlURI |
CandidateURI的子類,主要比CaidiateURI多了網(wǎng)頁內(nèi)容指紋、所屬隊列、組件處理器等 |
10 |
CredentialStore |
憑證存儲類,負(fù)責(zé)存儲各種憑證,如登陸 |
11 |
FetchStatusCodes |
抓取狀態(tài),有不同的屬性代表不同的抓取狀態(tài),如DNS獲取成功:S_DNS_SUCCESS |
12 |
RobotsHonoringPolicy |
爬蟲協(xié)議,代表著不同的抓取策略 |
13 |
Robotstxt |
爬蟲協(xié)議,用于解析robots.txt |
14 |
ServerCache |
服務(wù)器緩存,主要緩存CrawlHost和CrawlServer |
15 |
UriUniqFilter |
接口,用于過濾已經(jīng)抓取過的URL |
5.org.archive.crawler.datamodel.credential
序號 |
類 |
說明 |
1 |
Credential |
憑證類,代表著一個憑證,從order.xml配置文件中獲取數(shù)據(jù) |
2 |
CredentialAvatar |
代表著一個具體的憑證 |
3 |
HtmlFormCredential |
Credential的子類,代表著提交HTML FORM表單時所需要的憑證 |
4 |
Rfc2617Credential |
Credential的子類,代表著RFC2617 HTTP 認(rèn)證憑證 |
6.org.archive.crawler.deciderules
序號 |
類 |
說明 |
1 |
AcceptDecideRule |
URL規(guī)則,表示接受 |
2 |
ConfiguredDecideRule |
URL規(guī)則,通過order.xml文件中的配置來決定是否拒絕(REJECT)或接受(ACCEPT) |
3 |
DecideRule |
URL規(guī)則的父類,審核一個URL是否接受(ACCEPT)、拒絕(REJECT)或放棄(PASS),通過decisionFor(Object object)方法,該方法由其子類實現(xiàn) |
4 |
DecidingScope |
驗證一個URL是否在范圍來決定是否接受、拒絕或放棄 |
5 |
MatchesRegExpDecideRule |
通過配置的正則表達(dá)式來決定URL是否可接受、拒絕或放棄 |
6 |
NotMatchesRegExpDecideRule |
MatchesRegExpDecideRule的子類,如果URL不匹配該正則則接受 |
7 |
PathologicalPathDecideRule |
如果URL中相同目錄名超過配置文件中的個數(shù),則拒絕,如http://www./a/a/a/a/a其中a的個數(shù)超過一定限制則拒絕 |
8 |
PrerequisiteAcceptDecideRule |
如果URL中有先決條件URL則接受,也就是該CandidateURI里的pathFromSeed屬性里含有P,表示運行該URL之前有先要運行的URL |
9 |
RejectDecideRule |
URL規(guī)則,表示拒絕 |
10 |
TooManyHopsDecideRule |
如果超過配置文件中的約點數(shù)(max-hops),則拒絕 |
7.org.archive.crawler.event
序號 |
類 |
說明 |
1 |
CrawlStatusListener |
爬蟲監(jiān)聽器,如監(jiān)聽爬蟲是否在運行,是否暫停等 |
2 |
CrawlURIDispositionListener |
URL監(jiān)聽器,如監(jiān)聽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 |
網(wǎng)頁內(nèi)容文摘,實際上是通過MD5或SHA1算法將網(wǎng)頁內(nèi)容指紋化 |
11 |
Link |
鏈接,代表抽取出來的URL |
|