本章說明 Sun JavaTM System Portal Server 搜尋伺服器網頁抓取程式,及其對應的配置檔案。本章包含以下主題:
搜尋伺服器網頁抓取程式是一種代理程式,可識別及報告其網域上的資源。它使用兩種篩選器來執行這個作業:列舉篩選器與產生篩選器。
列舉篩選器使用網路通訊協定來找出資源。篩選器會測試每個資源,如果資源符合適當的條件,則列舉該資源。例如,列舉篩選器可從 HTML 檔案擷取超文字連結,並使用這些連結尋找額外的資源。
產生篩選器會測試每個資源以決定是否應建立資源描述 (Resource Description, RD)。若資源通過測試,產生器會建立 RD 並將其儲存在搜尋伺服器資料庫中。
圖 19–1 顯示網頁抓取程式如何檢查 URL 及其相關網路資源。列舉器和產生器會測試每個資源。如果資源通過列舉器測試,網頁抓取程式會檢查它是否有額外的 URL。若資源通過產生器測試,網頁抓取程式會產生儲存於搜尋伺服器資料庫的資源描述。
網頁抓取程式配置檔案會定義網頁抓取程式的運作方式。這些檔案位在目錄 /var/opt/SUNWportal/searchservers/searchserverid/config 中。以下清單提供每個網頁抓取程式配置檔案的描述。
包含用於將網頁抓取程式所產生的 RD 分類的規則。
定義網頁抓取程式所使用的列舉篩選器和產生篩選器。
包含網頁抓取程式的網站定義、起點 URL、根據 MIME 類型的篩選規則和 URL 式樣。
為網頁抓取程式定義大部分的作業特性。
因為您可以藉由使用「搜尋伺服器管理介面」設定大部分的特性,一般來說不需要編輯 robot.conf 檔案。然而,進階使用者可以手動編輯此檔案,以設定無法透過介面設定的特性。
網頁抓取程式會尋找資源並判定是否將其描述新增到資料庫中。而決定應訪問哪些伺服器以及應為這些伺服器的哪些部分編列索引,即所謂的網站定義。
定義網頁抓取程式的網站乃是伺服器管理員的重要工作之一。您一方面必須確定將網頁抓取程式傳送到所有需要索引的伺服器,同時也需要剔除無關的網站,以免因其佔據資料庫而更難找出正確資訊。
網頁抓取程式會擷取及跟隨選取用來編列索引的各個網站連結。身為系統管理員,您可以透過一些設定來控制這些程序,包括:
啟動、停止和排程網頁抓取程式
定義網頁抓取程式造訪的網站
可決定網頁抓取程式抓取積極程度的抓取屬性
透過定義篩選器,控制網頁抓取程式編列索引的資源類型。
透過定義編列索引屬性,控制網頁抓取程式建立何種資料庫項目。
如需網頁抓取程式抓取屬性的描述,請參閱「Sun Java System Portal Server 7.2 Technical Reference」。
篩選器能夠識別資源,因此可藉由根據篩選器定義來比對資源屬性,進而排除或包含資源。網頁抓取程式提供大量的預先定義篩選器,依預設會啟用其中一些篩選器。以下為預先定義的篩選器。標示星號的篩選器為預設啟用。
歸檔檔案*
音效檔案*
備份檔案*
二進位檔案*
CGI 檔案*
影像檔案*
Java、JavaScript、樣式表檔案*
記錄檔案*
Lotus Domino 文件
Lotus Domino OpenViews
外掛程式檔案
Power Point 檔案
修訂控制檔案*
原始碼檔案*
試算表檔案
系統目錄 (UNIX)
系統目錄 (NT)
暫存檔案*
視訊檔案*
您可以建立新的篩選器定義、修改篩選器定義或啟用或停用篩選器。如需詳細資訊,請參閱資源篩選程序。
網頁抓取程式具有兩種除錯工具或公用程式:
為了保持搜尋資料的及時性,網頁抓取程式應定時搜尋網站和編列索引。由於網頁抓取程式抓取和編列索引會消耗處理資源和網路頻寬,您應該安排在非尖峰日期與時間執行網頁抓取程式。管理主控台可讓管理員設定執行網頁抓取程式的排程。
本節說明以下管理網頁抓取程式的作業:
「Sun Java System Portal Server 7.2 Command-Line Reference」中的「psadmin start-robot」。
對於指令 psadmin start-robot,如果沒有可供網頁抓取程式抓取的已定義網站,則不會啟動搜尋網頁抓取程式。指令 psadmin start-robot 透過顯示「起始點:0 已定義」表示並無可用的網站。
網頁抓取程式會尋找資源並判定是否將其描述新增到資料庫中。而決定應訪問哪些伺服器以及應為這些伺服器的哪些部分編列索引,即所謂的網站定義。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
在功能表列中選取 [網頁抓取程式],再選取 [網站]。
按一下 [管理網站] 下的 [新增],並為網站指定配置屬性。
如需關於屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.2 Technical Reference」中的「Sites」。
按一下 [確定]。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
在功能表列中選取 [網頁抓取程式],再選取 [網站]。
按一下您要修改的網站名稱。
出現 [編輯網站] 對話方塊。
依需要修改配置屬性。
如需關於屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.2 Technical Reference」中的「Sites」
按一下 [確定] 以記錄變更。
網頁抓取程式抓取被選取用來編列索引的各種網站。您可透過定義抓取和編列索引作業特性,來控制網頁抓取程式抓取網站的方式。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
按一下功能表列中的 [網頁抓取程式],再選取 [內容]。
依需要指定網頁抓取程式抓取及編列索引的屬性。
如需關於屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.2 Technical Reference」中的「Sites」。
按一下 [儲存]。
模擬器會在一個或多個列出的網站中執行網頁抓取程式篩選的部份模擬。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
按一下功能表列的 [網頁抓取程式],再選取 [公用程式]。
在 [新增新的 URL] 文字方塊中輸入要模擬的新網站 URL,並按一下 [新增]。
您也可以在 [現有網頁抓取程式網站] 下列出的現有網站上執行模擬器。
按一下 [執行模擬器]。
網站探查公用程式檢查如 DNS 別名、伺服器重新導向及虛擬伺服器等資訊。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
按一下功能表列的 [網頁抓取程式],再選取 [公用程式]。
輸入要探查網站的 URL。
(可選擇) 如果您要探查傳回 DNS 資訊,請選擇 [網站探查] 下的 [顯示進階 DNS 資訊]。
按一下 [執行網站探查]。
網頁抓取程式會使用篩選器決定要處理何種資源,以及如何處理。當網頁抓取程式探索資源參照及資源本身時,網頁抓取程式會將篩選器套用在每個資源上。篩選器會列舉資源,並決定是否產生要存放在搜尋伺服器資料庫中的資源描述。
網頁抓取程式會檢查一個或多個起點 URL,套用篩選器,再套用篩選器至透過列舉 URL 所產生的 URL 上,等等。起點 URL 是在 filterrules.conf 檔案中定義。
每個列舉篩選器和產生篩選器會執行任何必要的初始化作業,並將比較測試套用至目前資源。每個測試的目標為允許或拒絕資源。篩選器也擁有關閉階段,在此階段將執行清除作業。
如果資源取得許可,則該資源通過篩選器繼續其歷程。網頁抓取程式最終會列舉該資源,以嘗試進一步探索其他資源。產生器也可能會為其建立資源描述。
若拒絕某個資源,則不會繼續處理該資源。對於被拒絕的資源,篩選器不會採取更進一步的動作。
這些作業不一定會被連結。有些資源會造成列舉,其他則造成 RD 產生。許多資源會同時造成列舉和 RD 產生。例如,如果資源是 FTP 目錄,則資源通常不會有為它產生的 RD。然而,網頁抓取程式會在 FTP 目錄中列舉個別的檔案。若 HTML 文件包含至其他文件的連結,該文件會造成產生 RD,也會導致任何已連結文件的列舉。
下列章節會說明篩選器程序:
列舉篩選器與產生篩選器的篩選程序中都擁有五個階段。
設定 – 執行初始化作業。在網頁抓取程式的有效期中只會發生一次。
中介資料 – 根據資源可用的中介資料篩選資源。在網路上擷取資源之前,對每個資源會執行一次中介資料篩選。表 19–1 列出常用中介資料類型的範例。
中介資料類型 |
說明 |
範例 |
---|---|---|
完整的 URL |
資源的位置 |
http://home.siroe.com/ |
通訊協定 |
URL 的存取部分 |
http、ftp、file |
主機 |
URL 的位址部分 |
www.siroe.com |
IP 位址 |
主機的數字版本 |
198.95.249.6 |
路徑 |
URL 的路徑部分 |
/index.html |
深度 |
從起點 URL 開始的連結數 |
5 |
資料 – 根據其資料篩選資源。在網路上擷取資料後,會篩選每個資源的資料一次。可用於篩選的資料包括:
content-type
content-length
content-encoding
content-charset
last-modified
expires
列舉 – 列舉目前資源,以決定該資源是否指向其他待檢查的資源。
產生 – 為資源產生資源描述 (Resource Description, RD),並將其儲存至搜尋伺服器資料庫中。
關閉 – 執行任何必須的終止作業。在網頁抓取程式有效期中,此程序會發生一次。
filter.conf 檔案包含列舉篩選器與產生篩選器的定義。這個檔案可以包含多個用於列舉與產生的篩選器。網頁抓取程式所使用的篩選器是由 robot.conf 檔案中的 enumeration-filter 和 generation-filter 特性指定。
篩選器定義擁有一個定義良好的結構:標題、內文與結尾。標題會識別篩選器的開始並公佈其名稱,例如:
<Filter name="myFilter"> |
內文包含一系列的篩選器指令,這些指令可定義篩選器在設定、測試、列舉或產生和關閉期間的行為。每條指令會指定一個功能,且若適用,還會為功能指定特性。
結尾標記符為 </Filter>。
範例 19–1 顯示名為 enumeration1 的篩選器。
<Filter name="enumeration1> Setup fn=filterrules-setup config=./config/filterrules.conf # 處理規則 MetaData fn=filterrules-process # 再次按類型和處理規則篩選 Data fn=assign-source dst=type src=content-type Data fn=filterrules-process # 僅在 HTML 上列舉 Enumerate enable=true fn=enumerate-urls max=1024 type=text/html # 清除 Shutdown fn=filterrules-shutdown </Filter> |
篩選器指令使用網頁抓取程式應用程式功能 (Robot Application Function, RAF) 執行作業。它們的使用方式和執行流程與 Sun Java System Web Server 的 obj.conf 檔案中 NSAP 指令和伺服器應用程式功能 (Server Application Function, SAF) 類似。類似 NSAPI 與 SAF,資料的儲存與傳送使用特性區段 (亦稱為 pblocks)。
六個網頁抓取程式指令,或 RAF 類別,與資源篩選程序中列出的篩選階段與作業對應:
設定
中介資料
資料
列舉
產生
關閉
每個指令擁有自己的網頁抓取程式應用程式功能。例如,將篩選功能與「中介資料」和「資料」指令一起使用,將列舉功能與「列舉」指令一起使用,將產生功能與「產生」指令一起使用,等等。
內建的網頁抓取程式應用程式功能和撰寫自訂網頁抓取程式應用程式功能的指示皆會在「Sun Java System Portal Server 7.1 Developer's Guide」中有所解釋。
在大部分的情況下,您可以使用管理主控台建立大部分基於網站定義的篩選器。隨後您可以修改 filter.conf 與 ilterrules.conff 檔案以做出進一步想要的變更。這些檔案位在目錄 /var/opt/SUNWportal/searchservers/searchserverid/config 中。
要建立一組更複雜的特性,請編輯網頁抓取程式使用的配置檔案。
當您撰寫或修改篩選器時,請注意
執行指令的順序,尤其是每個階段的可用資訊。
filterrules.conf 中的篩選器規則。
您也可以執行以下動作:
修改 robot.conf 檔案中的特性。
修改 filter.conf 檔案中的網頁抓取程式應用程式功能。
建立您自己的網頁抓取程式應用程式功能。
如需詳細資訊,請參閱「Sun Java System Portal Server 7.1 Developer's Guide」
本節說明以下管理網頁抓取程式篩選器的作業:
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
在功能表列中選取 [網頁抓取程式],再選取 [篩選器]。
按一下 [新增]。
出現 [新增網頁抓取程式篩選器精靈]。
遵循說明來建立指定的篩選器。
在文字方塊中輸入篩選器名稱和篩選器描述,並按 [下一步]。
指定篩選器定義和行為,並按一下 [完成]。
如需關於篩選器屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.2 Technical Reference」中的 Filters。
按一下 [關閉] 載入新篩選器。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
在功能表列中選取 [網頁抓取程式],再選取 [篩選器]。
選取篩選器,並按一下 [編輯]。
出現 [編輯篩選器] 頁面。
依需要修改配置屬性。
如需關於篩選器屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.2 Technical Reference」中的 Filters。
按一下 [確定]。
文件可指派到多項種類,最多可為設定中定義的最大數目。分類規則比網頁抓取程式篩選器規則簡單,因為它不涉及任何流程控制的決定。在分類規則下,您需要決定使用何種準則將特定種類指派到某項資源,使其成為資源描述中的一部份。分類規則是一種簡單的條件陳述式,格式為「如果條件為真,則指定資源至 <種類>」。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
選取功能表中的 [網頁抓取程式],再選取 [分類規則]。
選取 [分類規則],然後按一下 [新增]。
出現 [新增分類規則] 對話方塊。
依需要指定配置屬性。
如需關於屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.2 Technical Reference」中的 Manage Classification Rule。
按一下 [確定]。
從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。
從功能表列選取 [網頁抓取程式],然後選取 [分類規則]。
選取分類規則,再按一下 [編輯]。
依需要修改屬性。
如需關於屬性的詳細資訊,請參閱「 Sun Java System Portal Server 7.2 Technical Reference」中的 Manage Classification Rules。
按一下 [確定]。
大部分的網頁抓取程式應用程式功能 (Robot Application Function, RAF) 需要資訊來源,並會產生移至目標的資料。來源會在網頁抓取程式之中定義,不一定要與網頁抓取程式最終產生的資源描述欄相關。在另一方面,目標通常是資源描述中的欄位名稱 (如資源描述伺服器模式所定義)。
下列章節會說明篩選程序的不同階段,以及這些階段的可用來源。
篩選器會在「設定」階段中設定,但不會取得資源 URL 或內容的相關資訊。
在「中介資料」階段,網頁抓取程式會遇到資源的 URL,但還未下載資源的內容。因此可提供關於 URL 以及源自其他來源 (如 filter.conf 檔案) 的資料之相關資訊。然而在此階段中,不提供關於資源內容的資訊。
表 19–2 在中介資料階段中可用於 RAF 的來源
來源 |
說明 |
範例 |
---|---|---|
csid |
目錄伺服器 ID |
x-catalog//budgie.siroe.com:8086/alexandria |
深度 |
從起點移動的連結數 |
10 |
列舉篩選器 |
列舉篩選器名稱 |
enumeration1 |
產生篩選器 |
產生篩選器名稱 |
generation1 |
主機 |
URL 的主機部分 |
home.siroe.com |
IP |
主機的數值版本 |
198.95.249.6 |
協定 |
URL 的存取部分 |
http, https, ftp, file |
路徑 |
URL 的路徑部分 |
/, /index.html, /documents/listing.html |
URL |
完整的 URL |
http://developer.siroe.com/docs/manuals/ |
在「資料」階段,網頁抓取程式已下載該 URL 處的資源內容,並可存取與該內容相關的資料,例如描述和作者。
若資源是 HTML 檔案,則網頁抓取程式會剖析 HTML 標頭中的 <META> 標記。因此,可以在「資料」階段中取得任何包含於 <META> 標記的資料。
在「資料」階段中,除了那些在「中介資料」階段可使用的來源外,以下來源可用於 RAF。
表 19–3 在資料階段中可用於 RAF 的來源
來源 |
說明 |
範例 |
---|---|---|
content-charset |
用於資源的字元集 | |
content-encoding |
編碼的任何形式 | |
content-length |
以位元組為單位的資源大小 | |
content-type |
資源的 MIME 類型 |
text/html, image/jpeg |
expires |
資源到期的日期 | |
last-modified |
資源上次修改的日期 | |
<META> 標記中的資料 |
於 HTML 資源標頭中的 <META> 標記中所提供的任何資料。 |
作者、描述、關鍵字 |
擷取資源時,會傳回所有源自 HTTP 回應標頭的來源 (<META> 標記中的資料除外)。
在「列舉」與「產生」階段中,可用資料來源與「資料」階段的可用資料來源相同。如需詳細資訊,請參閱表 19–3。
在「關閉」階段,篩選器會完成其篩選作業並關閉。雖然為這個階段撰寫的功能可以使用那些與可用於「資料」階段相同的資料來源,但關閉功能一般會將其作業限制在網頁抓取程式關閉和清除作業。
每種功能皆有一個 enable 特性。值可為 true、false、on 或 off。管理主控台會使用這些參數以開啟或關閉特定指令。
下列範例會啟用 text/html 的列舉並停用 text/plain 的列舉:
# 僅在 HTML 上執行列舉 Enumerate enable=true fn=enumerate-urls max=1024 type=text/html Enumerate enable=false fn=enumerate-urls-from-text max=1024 type=text/plain |
新增 enable=false 特性或 enable=off 特性具有將該行寫為註釋相同的效力。使用這些特性的原因是管理主控台不會寫入註釋。
本節說明在設定階段期間由列舉與產生篩選器使用的功能。功能將於下幾節說明:
當您使用 filterrules-setup 功能時,請使用 logtype 記錄檔。值可以為 verbose、normal 或 terse。
檔案的路徑名稱,該檔案包含將由這個篩選器使用的篩選器規則。
Setup fn=filterrules-setup
config="/var/opt/SUNWportal/searchservers/search1/config/filterrules.conf"
setup-regex-cache 功能會初始化 filter-by-regex 功能和 generate-by-regex 功能的快取大小。使用此功能指定預設值 32 以外的數字。
保存在 regex 快取的已編譯常規表示式的最大數。
Setup fn=setup-regex-cache cache-size=28
setup-type-by-extension 功能會設定篩選器以識別檔案副檔名。必須先呼叫此功能,才能使用 assign-type-by-extension 功能。指定為特性的檔案必須包含標準 MIME 內容類型和檔案副檔名字串之間的對映。
MIME 類型配置檔案名稱
Setup fn=setup-type-by-extension
file="/var/opt/SUNWportal/searchservers/search1/config/mime.types"
篩選功能在「中介資料」和「資料」階段作業,以根據由功能及其特性所指定的特定條件來允許或拒絕資源。這些功能可以用於 filter.conf 檔案的列舉與產生篩選器。
每個 filter-by 功能均會執行比較,進而允許或拒絕該資源。允許資源意味繼續執行至下一個篩選步驟。拒絕資源意味程序應停止,因為資源不符合進一步列舉或產生的條件。
若 allow/deny 字串完全符合資訊來源,則 filter-by-exact 功能會允許或拒絕該資源。關鍵字 all 會符合所有字串。
資訊來源
包含字串
下列範例會篩選出所有 content-type 為 text/plain 的資源。其允許所有其他資源繼續作業:
Data fn=filter-by-exact src=type deny=text/plain
若指定的資訊來源少於或等於指定值,則 filter-by-max 功能會允許資源。若資訊來源大於指定值,則會拒絕資源。
每個篩選器只能呼叫此功能一次。
filter-by-max 功能會列出與 filter-by-max 功能搭配使用的特性。
資訊來源:主機、物件或深度
指定用於比較的值
此範例允許 content-length 小於 1024 kb 的資源:
MetaData fn-filter-by-max src=content-length value=1024
filter-by-md5 功能僅允許含有指定 MD5 總和檢查值的第一個資源。如果此網頁抓取程式在先前的資源中看到目前資源的 MD5,則會拒絕目前的資源。此功能可防止相同的資源或是有多個 URL 的單一資源重複。
您僅可以在「資料」階段或之後呼叫這個功能。每個篩選器只能呼叫此功能一次。這個篩選器必須在呼叫 filter-by-md5 之前呼叫 generate-md5 功能以產生 MD5 總和檢查。
無
以下範例顯示處理 MD5 總和檢查的一般方法,也就是先產生總和檢查,再根據總和檢查進行篩選:
Data fn=generate-md5
Data fn=filter-by-md5
若指定資料來源由指定的前綴字串開始,則 filter-by-prefix 功能會允許或拒絕來源。資源不必完全符合。關鍵字 all 會符合所有字串。
資訊來源
包含用於前綴比較的字串
下列範例允許 content-type 為任何文字類型 (包括 text/html 與 text/plain) 的資源:
MetaData fn=filter-by-prefix src=type allow=text
filter-by-regex 功能支援常規表示式式樣比對。其允許符合指定常規表示式的資源。支援的常規表示式語法是由 POSIX.1 規格定義。常規表示式 \\\\* 符合任何項目。
資訊來源
包含常規表示式字串
下列範例會拒絕 .gov 網域中的所有資源:
MetaData fn=filter-by-regex src=host deny=\\\\*.gov
filterrules-process 功能會處理 filterrules.conf 檔案中的網站定義和篩選規則。
無
MetaData fn=filterrules-process
支援功能用於在篩選期間操控或產生資源的資訊。網頁抓取程式之後可以藉由篩選功能處理資源。這些功能可以用於 filter.conf 檔案的列舉篩選器與產生篩選器。
assign-source 功能會指派一個新值給指定的資訊來源。這個功能允許篩選程序期間的編輯作業。這個功能可以指派明確的新值,或複製其他資訊來源的值。
希望變更其值的來源名稱。
指定一個明確的值
要複製到 dst 的資訊來源
您必須指定 value 特性或 src 特性,但只能擇一指定。
Data fn=assign-source dst=type src=content-type
assign-type-by-extension 功能使用資源的檔案名稱來決定其類型,並指派此類型給該資源做進一步處理。
設定期間必須先呼叫 setup-type-by-extension 功能,才能使用 assign-type-by-extension。
要比較的檔案名稱來源。若您沒有指定來源,則預設值是資源的路徑。
MetaData fn=assign-type-by-extension
clear-source 功能會刪除指定的資料來源。一般您並不需要執行這個功能。您可以使用 assign-source 功能建立或取代來源。
要刪除之來源的名稱
下列範例會刪除路徑來源:
MetaData fn=clear-source src=path
如果目前資源的類型符合指定的 MIME 類型,convert-to-html 功能會將目前資源轉換為 HTML 檔案以進一步處理。轉換篩選器會自動偵測其正在轉換的檔案類型。
轉換的來源 MIME 類型
以下的功能呼叫順序會造成篩選器將所有的 Adobe Acrobat PDF 檔案、Microsoft RTF 檔案和 FrameMaker MIF 檔案以及任何其類型未由提供該檔案之伺服器指定的檔案都轉換成 HTML。
Data fn=convert-to-html type=application/pdf
Data fn=convert-to-html type=application/rtf
Data fn=convert-to-html type=application/x-mif
Data fn=convert-to-html type=unknown
copy-attribute 功能會將值從資源描述欄位複製到另一個欄位。
要複製的資源描述欄位
資源描述中的項目,來源被複製到該項目中
要複製的最大來源長度
布林特性,可指定是否修正截斷的文字,以免文字不完整。此特性預設為 false
Generate fn=copy-attribute \\
src=partial-text dst=description truncate=200 clean=true
只有在現有來源完全符合其他值時,generate-by-exact 功能才會使用指定的值產生來源。
要產生之來源的名稱
要指定給 dst 的值
相符的來源
若主機為 www.siroe.com,則下列範例會將分類設定為 siroe。
Generate fn="generate-by-exact" match="www.siroe.com:80" src="host" value="Siroe" dst="classification"
如果現有來源的前綴完全符合其他值,此 generate-by-prefix 功能會使用指定的值產生來源。
要產生之來源的名稱
要指定給 dst 的值
相符的來源
與 src 比較的值
如果通訊協定前綴為 HTTP,以下範例會將分類設定為 Compass:
Generate fn="generate-by-prefix" match="http" src="protocol" value="World Wide Web" dst="classification"
如果現有來源完全符合常規表示式,generate-by-regex 功能會使用指定的值產生來源。
要產生之來源的名稱
要指定給 dst 的值
相符的來源
與 src 比較的常規表示式
若主機名稱符合常規表示式 *.siroe.com,則下列範例會將分類設定為 siroe。例如,位於 developer.siroe.com 與 home.siroe.com 中的資源均分類為 Siroe:
Generate fn="generate-by-regex" match="\\\\*.siroe.com" src="host" value="Siroe" dst="classification"
generate-md5 功能會產生 MD5 總合檢查並將其新增至資源。然後,您可以使用 filter-by-md5 功能拒絕含有相同 MD5 總合檢查的資源。
無
Data fn=generate-md5
generate-rd-expires 功能會產生到期日期並將其新增至指定來源。此功能會使用例如 HTTP 標頭與 HTML <META> 標記的中介資料取得資源的任何到期資料。若沒有,則該功能會產生距目前日期三個月後的的日期作為到期日期。
來源名稱。如果您省略它,則來源會預設為 rd-expires。
Generate fn=generate-rd-expires
generate-rd-last-modified 功能會新增目前時間至指定來源。
來源名稱。如果您省略它,則來源會預設為 rd-last-modified
Generate fn=generate-last-modified
rename-attribute 功能會變更資源描述欄的名稱。舉例來說,此功能最實用的狀況是,當 extract-html-meta 功能將 <META> 標記的資訊複製到欄位,且您要變更此欄位的名稱時。
包含從一個名稱到另一個名稱對映的字串。
以下範例會將某個屬性從 author 重新命名為 author-name:
Generate fn=rename-attribute src="author->author-name"
下列功能會作用於「列舉」階段。這些功能會控制網頁抓取程式是否以及如何從指定資源中收集連結以做為進一步資源探索的起點。
enumerate-urls 功能會掃描資源,並列舉在超文字連結中找到的所有 URL。結果會用於產生更進一步的資源探索。您可以指定 content-type 以限制列舉的 URL 類型。
從指定資源所產生的 URL 之最大數。預設為 1024。
Content-type,可限制列舉那些具有特定 Content-type 的 URL。type 是選擇性特性。如果省略,功能會列舉所有 URL。
以下範例僅列舉 HTML URL,最多可達 1024 個:
Enumerate fn=enumerate-urls type=text/html
enumerate-urls-from-text 功能會掃描文字資源,找尋符合常規表示式:URL:.* 的字串。此功能會產生網頁抓取程式,以從這些字串中列舉出 URL,並進一步產生資源描述。
從指定資源所產生的 URL 之最大數。如果省略 max,則預設為 1024
Enumerate fn=enumerate-urls-from-text
產生功能用於篩選的「產生」階段。產生功能可以建立用於資源描述的資訊。一般而言,會擷取資源本身主體的資訊或從資源中介資料複製資訊。
extract-full-text 功能會從資源擷取完整文字,並將其新增至資源描述中。
小心使用 extract-full-text 功能。它會明顯增加資源描述的大小,因此導致資料庫膨脹,對網路整體頻寬造成負面影響。
Generate fn=extract-full-text
從資源擷取的最大字元數。
接收完整文字的模式項目的名稱
extract-html-meta 功能會從 HTML 檔案擷取任何 <META> 或 <TITLE> 資訊,並將其新增至資源描述。可指定 content-type 以限制產生的 URL 類型。
要擷取的最大位元數
選擇性特性。如果省略,則產生所有 URL
Generate fn=extract-html-meta truncate=255 type=text/html
extract-html-text 功能會從 HTML 檔案擷取開頭幾個字元 (不包括 HTML 標記),並將此文字新增至資源描述。此功能允許在 RD 中包括文件開頭部分的文字。可指定 content-type 以限制產生的 URL 類型。
要擷取的最大位元數
設定 true 以忽略在文件中出現的任何 HTML 標頭。
選擇性特性。如果省略,則產生所有 URL
Generate fn=extract-html-text truncate=255 type=text/html skip-headings=true
extract-html-toc 功能會從 HTML 標頭擷取目錄,並將其新增至資源描述。
要擷取的最大位元數
要擷取的最大 HTML 標頭層級。這個特性會控制目錄深度。
Generate fn=extract-html-toc truncate=255 level=3
extract-source 功能會從指定的來源擷取指定的值,並將其新增至資源描述。
列出來源名稱。您可以使用 -> 運算子為 RD 屬性定義新名稱。例如, type->content-type 會取得名為 type 的來源值,並將其儲存至 RD 中名為 content-type 的屬性下。
Generate fn=extract-source src="md5,depth,rd-expires,rd-last-modified"
harvest-summarizer 功能會在資源上執行 Harvest 摘要器,並將結果新增至資源描述中。
要執行 Harvest 摘要器,在執行網頁抓取程式之前,您的 path 中必須具備 $HARVEST_HOME/lib/gatherer。
摘要器程式名稱
Generate fn-harvest-summarizer summarizer=HTML.sum
列舉功能與產生功能均可在關閉階段中使用 filterrules-shutdown 功能。
在執行規則之後,filterrules-shutdown 功能會執行清除與關閉責任。
無
Shutdown fn=filterrules-shutdown
robot.conf 檔案會定義許多網頁抓取程式選項,包括將網頁抓取程式指向在 filter.conf 檔案中適當的篩選器。如需與舊版本向下相容,robot.conf 也可包含起點 URL。
因為您可以藉由使用管理主控台設定大部分的特性,一般來說不需要編輯 robot.conf 檔案。然而,進階使用者可以手動編輯此檔案,以設定無法透過管理主控台設定的特性。如需此檔案範例的詳細資訊,請參閱 robot.conf 檔案範例。
表 19–4 列出 robot.conf 檔案中您可變更的特性。
表 19–4 使用者可修改特性
本節將介紹一個 robot.conf 檔案範例。範例中任何寫為註釋的特性會使用顯示的預設值。第一個特性 csid 是指使用此檔案的搜尋伺服器實例。請勿變更該特性的值。如需此檔案中特性的定義,請參閱可修改特性。
此範例檔案包含一些搜尋伺服器所使用的特性,您無法修改這些特性。csid 特性即為一例。
<Process csid="x-catalog://budgie.siroe.com:80/jack" \\ auto-proxy="http://sesta.varrius.com:80/" auto_serv="http://sesta.varrius.com:80/" command-port=21445 convert-timeout=600 depth="-1" # email="user@domain" enable-ip=true enumeration-filter="enumeration-default" generation-filter="generation-default" index-after-ngenerated=30 loglevel=2 max-concurrent=8 site-max-concurrent=2 onCompletion=idle password=boots proxy-loc=server proxy-type=auto robot-state-dir="/var/opt/SUNWportal/searchservers/search1/robot" \\ ps/robot" server-delay=1 smart-host-heuristics=true tmpdir="/var/opt/SUNWportal/searchservers/search1/tmp" user-agent="iPlanetRobot/4.0" username=jack </Process> |