本博客屬原創(chuàng)文章,歡迎轉(zhuǎn)載!轉(zhuǎn)載請務(wù)必注明出處:http://guoyunsky./blog/649737
歡迎加入Heritrix群(QQ):10447185
以前在做Web開發(fā)的時候就接觸過一些HttpStatus Code,比如404,500.后來接觸Heritrix之后才知道HttpStatus Code竟然有如此之多。不一樣的HttpStatus Code就代表不一樣的Http狀態(tài),簡單的如成功、失敗、重定向等。Heritrix自己也根據(jù)自己的需求增加了一些,同時由于Heritrix通過HttpClient去獲取網(wǎng)絡(luò)資源,其中一部分HttpStatus Code也來源于HttpClient,接下來我會逐個介紹。
有興趣的朋友可以看下源代碼中各個HttpStatus Code的不同應(yīng)用場合和作用,可以說貫穿了真?zhèn)€抓取,設(shè)計得相當靈活。如只想大致了解下,可以參考org.archive.crawler.datamodel.FetchStatusCodes,里面有不同的HttpStatus Code以及英文注釋。
序號 |
Heritrix屬性 |
Heritrix屬性值 |
說明 |
1 |
S_UNATTEMPTED |
0 |
初始狀態(tài) |
2 |
S_DNS_SUCCESS |
1 |
DNS獲取成功 |
3 |
S_DOMAIN_UNRESOLVABLE |
-1 |
DNS獲取失敗,該狀態(tài)的URL會繼續(xù)被抓取 |
4 |
S_CONNECT_FAILED |
-2 |
連接HTTP失敗,該狀態(tài)的URL會繼續(xù)被抓取 |
5 |
S_CONNECT_LOST |
-3 |
連接HTTP掉線,該狀態(tài)的URL會繼續(xù)被抓取 |
6 |
S_TIMEOUT |
-4 |
連接HTTP超時,該狀態(tài)的URL會繼續(xù)被抓取 |
6 |
S_RUNTIME_EXCEPTION |
-5 |
運行意外,該狀態(tài)的URL會記錄在runtime-errors.log日志中 |
7 |
S_DOMAIN_PREREQUISITE_FAILURE |
-6 |
運行先決條件(也就是DNS)失敗 |
8 |
S_UNFETCHABLE_URI |
-7 |
非法的URL,URL不符合規(guī)則。Heritrix也自定義了規(guī)則去限制URL |
9 |
S_TOO_MANY_RETRIES |
-8 |
多次嘗試都是失敗,Heritrix可以讓未成功的URL嘗試多次 |
10 |
S_DEFERRED |
-50 |
該URL準備先獲取先決條件URL(也就是DNS) |
11 |
S_UNQUEUEABLE |
-60 |
沒有通過調(diào)度器(Frontier) |
12 |
S_ROBOTS_PREREQUISITE_FAILURE |
-61 |
獲取DNS失敗,被爬蟲協(xié)議(robots.txt)拒絕 |
13 |
S_OTHER_PREREQUISITE_FAILURE |
-62 |
獲取DNS失敗的其他原因 |
14 |
S_PREREQUISITE_UNSCHEDULABLE_FAILURE |
-63 |
獲取DNS失敗,該Host不在范圍中(也就是用戶定義的Url抓取范圍) |
15 |
S_GETBYNAME_SUCCESS |
1001 |
通過URL獲取IP成功 |
16 |
S_SERIOUS_ERROR |
-3000 |
嚴重錯誤,比如內(nèi)存溢出 |
17 |
S_DEEMED_CHAFF |
-4000 |
完全無用,可忽視的URL |
18 |
S_TOO_MANY_EMBED_HOPS |
-4001 |
超出層數(shù)限制,也就是抓取深度,這里是抽取出來的連接 |
19 |
S_TOO_MANY_EMBED_HOPS |
-4002 |
超出層數(shù)限制,也就是抓取深度,這里是嵌套的連接 |
20 |
S_OUT_OF_SCOPE |
-5000 |
URL超出范圍 |
21 |
S_BLOCKED_BY_USER |
-5001 |
被用戶拒絕,heritrix可以配置很多規(guī)則(Rule)去過濾一部分Url |
22 |
S_BLOCKED_BY_CUSTOM_PROCESSOR |
-5002 |
在預處理模塊被阻止 |
23 |
S_BLOCKED_BY_QUOTA |
-5003 |
超過抓取成本,Heritrix可以配置抓取一個URL的成本 |
24 |
S_BLOCKED_BY_RUNTIME_LIMIT |
-5004 |
超過抓取時間,Heritrix可以配置抓取一個URL的用時 |
25 |
S_DELETED_BY_USER |
-6000 |
被用戶刪除 |
26 |
S_PROCESSING_THREAD_KILLED |
7000 |
heritrix可以多線程抓取,用戶可以刪除線程,當前狀態(tài)就表示運行該URL的線程被刪除 |
27 |
S_ROBOTS_PRECLUDED |
-9998 |
被爬蟲協(xié)議(robots.txt)拒絕 |
28 |
|
|
|
29 |
|
|
|