Sun Java System Portal Server 7.2 管理指南

第 19 章 管理搜尋伺服器網頁抓取程式

本章說明 Sun JavaTM System Portal Server 搜尋伺服器網頁抓取程式,及其對應的配置檔案。本章包含以下主題:

瞭解搜尋伺服器網頁抓取程式

搜尋伺服器網頁抓取程式是一種代理程式,可識別及報告其網域上的資源。它使用兩種篩選器來執行這個作業:列舉篩選器與產生篩選器。

列舉篩選器使用網路通訊協定來找出資源。篩選器會測試每個資源,如果資源符合適當的條件,則列舉該資源。例如,列舉篩選器可從 HTML 檔案擷取超文字連結,並使用這些連結尋找額外的資源。

產生篩選器會測試每個資源以決定是否應建立資源描述 (Resource Description, RD)。若資源通過測試,產生器會建立 RD 並將其儲存在搜尋伺服器資料庫中。

以下章節將說明管理網頁抓取程式所需的配置和維護作業:

網頁抓取程式的作業方式

圖 19–1 顯示網頁抓取程式如何檢查 URL 及其相關網路資源。列舉器和產生器會測試每個資源。如果資源通過列舉器測試,網頁抓取程式會檢查它是否有額外的 URL。若資源通過產生器測試,網頁抓取程式會產生儲存於搜尋伺服器資料庫的資源描述。

圖 19–1 網頁抓取程式的作業方式

本圖將說明網頁抓取程式的作業方式。

網頁抓取程式配置檔案

網頁抓取程式配置檔案會定義網頁抓取程式的運作方式。這些檔案位在目錄 /var/opt/SUNWportal/searchservers/searchserverid/config 中。以下清單提供每個網頁抓取程式配置檔案的描述。

classification.conf

包含用於將網頁抓取程式所產生的 RD 分類的規則。

filter.conf

定義網頁抓取程式所使用的列舉篩選器和產生篩選器。

filterrules.conf

包含網頁抓取程式的網站定義、起點 URL、根據 MIME 類型的篩選規則和 URL 式樣。

robot.conf

為網頁抓取程式定義大部分的作業特性。

因為您可以藉由使用「搜尋伺服器管理介面」設定大部分的特性,一般來說不需要編輯 robot.conf 檔案。然而,進階使用者可以手動編輯此檔案,以設定無法透過介面設定的特性。

定義網站

網頁抓取程式會尋找資源並判定是否將其描述新增到資料庫中。而決定應訪問哪些伺服器以及應為這些伺服器的哪些部分編列索引,即所謂的網站定義

定義網頁抓取程式的網站乃是伺服器管理員的重要工作之一。您一方面必須確定將網頁抓取程式傳送到所有需要索引的伺服器,同時也需要剔除無關的網站,以免因其佔據資料庫而更難找出正確資訊。

控制網頁抓取程式抓取

網頁抓取程式會擷取及跟隨選取用來編列索引的各個網站連結。身為系統管理員,您可以透過一些設定來控制這些程序,包括:

如需網頁抓取程式抓取屬性的描述,請參閱「Sun Java System Portal Server 7.2 Technical Reference」。

篩選網頁抓取程式資料

篩選器能夠識別資源,因此可藉由根據篩選器定義來比對資源屬性,進而排除或包含資源。網頁抓取程式提供大量的預先定義篩選器,依預設會啟用其中一些篩選器。以下為預先定義的篩選器。標示星號的篩選器為預設啟用。

您可以建立新的篩選器定義、修改篩選器定義或啟用或停用篩選器。如需詳細資訊,請參閱資源篩選程序

使用網頁抓取程式公用程式

網頁抓取程式具有兩種除錯工具或公用程式:

網頁抓取程式排程

為了保持搜尋資料的及時性,網頁抓取程式應定時搜尋網站和編列索引。由於網頁抓取程式抓取和編列索引會消耗處理資源和網路頻寬,您應該安排在非尖峰日期與時間執行網頁抓取程式。管理主控台可讓管理員設定執行網頁抓取程式的排程。

管理網頁抓取程式

本節說明以下管理網頁抓取程式的作業:

Procedure啟動網頁抓取程式

  1. 登入管理主控台

  2. 選擇功能表列中的 [搜尋伺服器]。選取伺服器清單中的搜尋伺服器。

  3. 按一下功能表列中的 [網頁抓取程式],再選取功能表中的 [狀態與控制]。

  4. 按一下 [啟動]。

相當於 psadmin 指令

「Sun Java System Portal Server 7.2 Command-Line Reference」中的「psadmin start-robot」


備註 –

對於指令 psadmin start-robot,如果沒有可供網頁抓取程式抓取的已定義網站,則不會啟動搜尋網頁抓取程式。指令 psadmin start-robot 透過顯示「起始點:0 已定義」表示並無可用的網站。


Procedure清除網頁抓取程式資料庫

  1. 登入管理主控台

  2. 從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。

  3. 選取功能表列中的 [網頁抓取程式],再選取 [狀態與控制]。

  4. 按一下 [清除網頁抓取程式資料庫]。

Procedure建立網站定義

網頁抓取程式會尋找資源並判定是否將其描述新增到資料庫中。而決定應訪問哪些伺服器以及應為這些伺服器的哪些部分編列索引,即所謂的網站定義

  1. 登入管理主控台

  2. 從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。

  3. 在功能表列中選取 [網頁抓取程式],再選取 [網站]。

  4. 按一下 [管理網站] 下的 [新增],並為網站指定配置屬性。

    如需關於屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.2 Technical Reference」中的「Sites」

  5. 按一下 [確定]。

Procedure編輯網站定義

  1. 登入管理主控台

  2. 從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。

  3. 在功能表列中選取 [網頁抓取程式],再選取 [網站]。

  4. 按一下您要修改的網站名稱。

    出現 [編輯網站] 對話方塊。

  5. 依需要修改配置屬性。

    如需關於屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.2 Technical Reference」中的「Sites」

  6. 按一下 [確定] 以記錄變更。

Procedure控制網頁抓取程式的抓取與編列索引

網頁抓取程式抓取被選取用來編列索引的各種網站。您可透過定義抓取和編列索引作業特性,來控制網頁抓取程式抓取網站的方式。

  1. 登入管理主控台

  2. 從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。

  3. 按一下功能表列中的 [網頁抓取程式],再選取 [內容]。

  4. 依需要指定網頁抓取程式抓取及編列索引的屬性。

    如需關於屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.2 Technical Reference」中的「Sites」

  5. 按一下 [儲存]。

Procedure執行模擬器

模擬器會在一個或多個列出的網站中執行網頁抓取程式篩選的部份模擬。 

  1. 登入管理主控台

  2. 從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。

  3. 按一下功能表列的 [網頁抓取程式],再選取 [公用程式]。

  4. 在 [新增新的 URL] 文字方塊中輸入要模擬的新網站 URL,並按一下 [新增]。

    您也可以在 [現有網頁抓取程式網站] 下列出的現有網站上執行模擬器。

  5. 按一下 [執行模擬器]。

Procedure執行網站探查公用程式

網站探查公用程式檢查如 DNS 別名、伺服器重新導向及虛擬伺服器等資訊。

  1. 登入管理主控台

  2. 從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。

  3. 按一下功能表列的 [網頁抓取程式],再選取 [公用程式]。

  4. 輸入要探查網站的 URL。

  5. (可選擇) 如果您要探查傳回 DNS 資訊,請選擇 [網站探查] 下的 [顯示進階 DNS 資訊]。

  6. 按一下 [執行網站探查]。

資源篩選程序

網頁抓取程式會使用篩選器決定要處理何種資源,以及如何處理。當網頁抓取程式探索資源參照及資源本身時,網頁抓取程式會將篩選器套用在每個資源上。篩選器會列舉資源,並決定是否產生要存放在搜尋伺服器資料庫中的資源描述。

網頁抓取程式會檢查一個或多個起點 URL,套用篩選器,再套用篩選器至透過列舉 URL 所產生的 URL 上,等等。起點 URL 是在 filterrules.conf 檔案中定義。

每個列舉篩選器和產生篩選器會執行任何必要的初始化作業,並將比較測試套用至目前資源。每個測試的目標為允許或拒絕資源。篩選器也擁有關閉階段,在此階段將執行清除作業。

如果資源取得許可,則該資源通過篩選器繼續其歷程。網頁抓取程式最終會列舉該資源,以嘗試進一步探索其他資源。產生器也可能會為其建立資源描述。

若拒絕某個資源,則不會繼續處理該資源。對於被拒絕的資源,篩選器不會採取更進一步的動作。

這些作業不一定會被連結。有些資源會造成列舉,其他則造成 RD 產生。許多資源會同時造成列舉和 RD 產生。例如,如果資源是 FTP 目錄,則資源通常不會有為它產生的 RD。然而,網頁抓取程式會在 FTP 目錄中列舉個別的檔案。若 HTML 文件包含至其他文件的連結,該文件會造成產生 RD,也會導致任何已連結文件的列舉。

下列章節會說明篩選器程序:

篩選器程序的階段

列舉篩選器與產生篩選器的篩選程序中都擁有五個階段。

表 19–1 常用中介資料類型

中介資料類型 

說明 

範例 

完整的 URL 

資源的位置 

http://home.siroe.com/

通訊協定 

URL 的存取部分 

httpftpfile

主機 

URL 的位址部分 

www.siroe.com

IP 位址 

主機的數字版本 

198.95.249.6 

路徑 

URL 的路徑部分 

/index.html

深度 

從起點 URL 開始的連結數 

篩選器語法

filter.conf 檔案包含列舉篩選器與產生篩選器的定義。這個檔案可以包含多個用於列舉與產生的篩選器。網頁抓取程式所使用的篩選器是由 robot.conf 檔案中的 enumeration-filtergeneration-filter 特性指定。

篩選器定義擁有一個定義良好的結構:標題、內文與結尾。標題會識別篩選器的開始並公佈其名稱,例如:


<Filter name="myFilter">

內文包含一系列的篩選器指令,這些指令可定義篩選器在設定、測試、列舉或產生和關閉期間的行為。每條指令會指定一個功能,且若適用,還會為功能指定特性。

結尾標記符為 </Filter>

範例 19–1 顯示名為 enumeration1 的篩選器。


範例 19–1 列舉檔案語法


<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.confilterrules.conff 檔案以做出進一步想要的變更。這些檔案位在目錄 /var/opt/SUNWportal/searchservers/searchserverid/config 中。

要建立一組更複雜的特性,請編輯網頁抓取程式使用的配置檔案。

當您撰寫或修改篩選器時,請注意

您也可以執行以下動作:

如需詳細資訊,請參閱「Sun Java System Portal Server 7.1 Developer's Guide

管理篩選器

本節說明以下管理網頁抓取程式篩選器的作業:

Procedure建立篩選器

  1. 登入 Portal Server 管理主控台

  2. 從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。

  3. 在功能表列中選取 [網頁抓取程式],再選取 [篩選器]。

  4. 按一下 [新增]。

    出現 [新增網頁抓取程式篩選器精靈]。

  5. 遵循說明來建立指定的篩選器。

    1. 在文字方塊中輸入篩選器名稱和篩選器描述,並按 [下一步]。

    2. 指定篩選器定義和行為,並按一下 [完成]。

      如需關於篩選器屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.2 Technical Reference」中的 Filters

    3. 按一下 [關閉] 載入新篩選器。

Procedure刪除篩選器

  1. 登入 Portal Server 管理主控台

  2. 從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。

  3. 在功能表列中選取 [網頁抓取程式],再選取 [篩選器]。

  4. 選取篩選器。

  5. 按一下 [刪除]。

  6. 在出現的確認對話方塊中按一下 [確定]。

Procedure編輯篩選器

  1. 登入 Portal Server 管理主控台

  2. 從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。

  3. 在功能表列中選取 [網頁抓取程式],再選取 [篩選器]。

  4. 選取篩選器,並按一下 [編輯]。

    出現 [編輯篩選器] 頁面。

  5. 依需要修改配置屬性。

    如需關於篩選器屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.2 Technical Reference」中的 Filters

  6. 按一下 [確定]。

Procedure啟用或停用篩選器

  1. 登入 Portal Server 管理主控台

  2. 從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。

  3. 在功能表列中選取 [網頁抓取程式],再選取 [篩選器]。

  4. 選取篩選器。

    • 要啟用篩選器,按一下 [啟用]。

    • 要停用篩選器,按一下 [停用]。

管理分類規則

文件可指派到多項種類,最多可為設定中定義的最大數目。分類規則比網頁抓取程式篩選器規則簡單,因為它不涉及任何流程控制的決定。在分類規則下,您需要決定使用何種準則將特定種類指派到某項資源,使其成為資源描述中的一部份。分類規則是一種簡單的條件陳述式,格式為「如果條件為真,則指定資源至 <種類>」。

Procedure建立分類規則

  1. 登入 Portal Server 管理主控台

  2. 從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。

  3. 選取功能表中的 [網頁抓取程式],再選取 [分類規則]。

  4. 選取 [分類規則],然後按一下 [新增]。

    出現 [新增分類規則] 對話方塊。

  5. 依需要指定配置屬性。

    如需關於屬性的詳細資訊,請參閱「Sun Java System Portal Server 7.2 Technical Reference」中的 Manage Classification Rule

  6. 按一下 [確定]。

Procedure編輯分類規則

  1. 登入 Portal Server 管理主控台

  2. 從功能表列選取 [搜尋伺服器],然後選取搜尋伺服器。

  3. 從功能表列選取 [網頁抓取程式],然後選取 [分類規則]。

  4. 選取分類規則,再按一下 [編輯]。

  5. 依需要修改屬性。

    如需關於屬性的詳細資訊,請參閱「 Sun Java System Portal Server 7.2 Technical Reference」中的 Manage Classification Rules

  6. 按一下 [確定]。

來源和目標

大部分的網頁抓取程式應用程式功能 (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 特性。值可為 truefalseonoff。管理主控台會使用這些參數以開啟或關閉特定指令。

下列範例會啟用 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

當您使用 filterrules-setup 功能時,請使用 logtype 記錄檔。值可以為 verbosenormalterse

特性

config

檔案的路徑名稱,該檔案包含將由這個篩選器使用的篩選器規則。

範例

Setup fn=filterrules-setup

config="/var/opt/SUNWportal/searchservers/search1/config/filterrules.conf"

setup-regex-cache

setup-regex-cache 功能會初始化 filter-by-regex 功能和 generate-by-regex 功能的快取大小。使用此功能指定預設值 32 以外的數字。

特性

cache-size

保存在 regex 快取的已編譯常規表示式的最大數。

範例

Setup fn=setup-regex-cache cache-size=28

setup-type-by-extension

setup-type-by-extension 功能會設定篩選器以識別檔案副檔名。必須先呼叫此功能,才能使用 assign-type-by-extension 功能。指定為特性的檔案必須包含標準 MIME 內容類型和檔案副檔名字串之間的對映。

特性

file

MIME 類型配置檔案名稱

範例

Setup fn=setup-type-by-extension

file="/var/opt/SUNWportal/searchservers/search1/config/mime.types"

篩選功能

篩選功能在「中介資料」和「資料」階段作業,以根據由功能及其特性所指定的特定條件來允許或拒絕資源。這些功能可以用於 filter.conf 檔案的列舉與產生篩選器。

每個 filter-by 功能均會執行比較,進而允許或拒絕該資源。允許資源意味繼續執行至下一個篩選步驟。拒絕資源意味程序應停止,因為資源不符合進一步列舉或產生的條件。

filter-by-exact

allow/deny 字串完全符合資訊來源,則 filter-by-exact 功能會允許或拒絕該資源。關鍵字 all 會符合所有字串。

特性

src

資訊來源

allow/deny

包含字串

範例

下列範例會篩選出所有 content-type 為 text/plain 的資源。其允許所有其他資源繼續作業:

Data fn=filter-by-exact src=type deny=text/plain

filter-by-max

若指定的資訊來源少於或等於指定值,則 filter-by-max 功能會允許資源。若資訊來源大於指定值,則會拒絕資源。

每個篩選器只能呼叫此功能一次。

特性

filter-by-max 功能會列出與 filter-by-max 功能搭配使用的特性。

src

資訊來源:主機、物件或深度

value

指定用於比較的值

範例

此範例允許 content-length 小於 1024 kb 的資源:

MetaData fn-filter-by-max src=content-length value=1024

filter-by-md5

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

若指定資料來源由指定的前綴字串開始,則 filter-by-prefix 功能會允許或拒絕來源。資源不必完全符合。關鍵字 all 會符合所有字串。

特性

src

資訊來源

allow/deny

包含用於前綴比較的字串

範例

下列範例允許 content-type 為任何文字類型 (包括 text/htmltext/plain) 的資源:

MetaData fn=filter-by-prefix src=type allow=text

filter-by-regex

filter-by-regex 功能支援常規表示式式樣比對。其允許符合指定常規表示式的資源。支援的常規表示式語法是由 POSIX.1 規格定義。常規表示式 \\\\* 符合任何項目。

特性

src

資訊來源

allow/deny

包含常規表示式字串

範例

下列範例會拒絕 .gov 網域中的所有資源:

MetaData fn=filter-by-regex src=host deny=\\\\*.gov

filterrules-process

filterrules-process 功能會處理 filterrules.conf 檔案中的網站定義和篩選規則。

特性

範例

MetaData fn=filterrules-process

篩選支援功能

支援功能用於在篩選期間操控或產生資源的資訊。網頁抓取程式之後可以藉由篩選功能處理資源。這些功能可以用於 filter.conf 檔案的列舉篩選器與產生篩選器。

assign-source

assign-source 功能會指派一個新值給指定的資訊來源。這個功能允許篩選程序期間的編輯作業。這個功能可以指派明確的新值,或複製其他資訊來源的值。

特性

dst

希望變更其值的來源名稱。

value

指定一個明確的值

src

要複製到 dst 的資訊來源

您必須指定 value 特性或 src 特性,但只能擇一指定。

範例

Data fn=assign-source dst=type src=content-type

assign-type-by-extension

assign-type-by-extension 功能使用資源的檔案名稱來決定其類型,並指派此類型給該資源做進一步處理。

設定期間必須先呼叫 setup-type-by-extension 功能,才能使用 assign-type-by-extension

特性

src

要比較的檔案名稱來源。若您沒有指定來源,則預設值是資源的路徑。

範例

MetaData fn=assign-type-by-extension

clear-source

clear-source 功能會刪除指定的資料來源。一般您並不需要執行這個功能。您可以使用 assign-source 功能建立或取代來源。

特性

src

要刪除之來源的名稱

範例

下列範例會刪除路徑來源:

MetaData fn=clear-source src=path

convert-to-html

如果目前資源的類型符合指定的 MIME 類型,convert-to-html 功能會將目前資源轉換為 HTML 檔案以進一步處理。轉換篩選器會自動偵測其正在轉換的檔案類型。

特性

type

轉換的來源 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

copy-attribute 功能會將值從資源描述欄位複製到另一個欄位。

特性

src

要複製的資源描述欄位

dst

資源描述中的項目,來源被複製到該項目中

truncate

要複製的最大來源長度

clean

布林特性,可指定是否修正截斷的文字,以免文字不完整。此特性預設為 false

範例

Generate fn=copy-attribute \\

src=partial-text dst=description truncate=200 clean=true

generate-by-exact

只有在現有來源完全符合其他值時,generate-by-exact 功能才會使用指定的值產生來源。

特性

dst

要產生之來源的名稱

value

要指定給 dst 的值

src

相符的來源

範例

若主機為 www.siroe.com,則下列範例會將分類設定為 siroe

Generate fn="generate-by-exact" match="www.siroe.com:80" src="host" value="Siroe" dst="classification"

generate-by-prefix

如果現有來源的前綴完全符合其他值,此 generate-by-prefix 功能會使用指定的值產生來源。

特性

dst

要產生之來源的名稱

value

要指定給 dst 的值

src

相符的來源

match

src 比較的值

範例

如果通訊協定前綴為 HTTP,以下範例會將分類設定為 Compass:

Generate fn="generate-by-prefix" match="http" src="protocol" value="World Wide Web" dst="classification"

generate-by-regex

如果現有來源完全符合常規表示式,generate-by-regex 功能會使用指定的值產生來源。

特性

dst

要產生之來源的名稱

value

要指定給 dst 的值

src

相符的來源

match

src 比較的常規表示式

範例

若主機名稱符合常規表示式 *.siroe.com,則下列範例會將分類設定為 siroe。例如,位於 developer.siroe.comhome.siroe.com 中的資源均分類為 Siroe

Generate fn="generate-by-regex" match="\\\\*.siroe.com" src="host" value="Siroe" dst="classification"

generate-md5

generate-md5 功能會產生 MD5 總合檢查並將其新增至資源。然後,您可以使用 filter-by-md5 功能拒絕含有相同 MD5 總合檢查的資源。

特性

範例

Data fn=generate-md5

generate-rd-expires

generate-rd-expires 功能會產生到期日期並將其新增至指定來源。此功能會使用例如 HTTP 標頭與 HTML <META> 標記的中介資料取得資源的任何到期資料。若沒有,則該功能會產生距目前日期三個月後的的日期作為到期日期。

特性

dst

來源名稱。如果您省略它,則來源會預設為 rd-expires

範例

Generate fn=generate-rd-expires

generate-rd-last-modified

generate-rd-last-modified 功能會新增目前時間至指定來源。

特性

dst

來源名稱。如果您省略它,則來源會預設為 rd-last-modified

範例

Generate fn=generate-last-modified

rename-attribute

rename-attribute 功能會變更資源描述欄的名稱。舉例來說,此功能最實用的狀況是,當 extract-html-meta 功能將 <META> 標記的資訊複製到欄位,且您要變更此欄位的名稱時。

特性

src

包含從一個名稱到另一個名稱對映的字串。

範例

以下範例會將某個屬性從 author 重新命名為 author-name:

Generate fn=rename-attribute src="author->author-name"

列舉功能

下列功能會作用於「列舉」階段。這些功能會控制網頁抓取程式是否以及如何從指定資源中收集連結以做為進一步資源探索的起點。

enumerate-urls

enumerate-urls 功能會掃描資源,並列舉在超文字連結中找到的所有 URL。結果會用於產生更進一步的資源探索。您可以指定 content-type 以限制列舉的 URL 類型。

特性

max

從指定資源所產生的 URL 之最大數。預設為 1024。

type

Content-type,可限制列舉那些具有特定 Content-type 的 URL。type 是選擇性特性。如果省略,功能會列舉所有 URL。

範例

以下範例僅列舉 HTML URL,最多可達 1024 個:

Enumerate fn=enumerate-urls type=text/html

enumerate-urls-from-text

enumerate-urls-from-text 功能會掃描文字資源,找尋符合常規表示式:URL:.* 的字串。此功能會產生網頁抓取程式,以從這些字串中列舉出 URL,並進一步產生資源描述。

特性

max

從指定資源所產生的 URL 之最大數。如果省略 max,則預設為 1024

範例

Enumerate fn=enumerate-urls-from-text

產生功能

產生功能用於篩選的「產生」階段。產生功能可以建立用於資源描述的資訊。一般而言,會擷取資源本身主體的資訊或從資源中介資料複製資訊。

extract-full-text

extract-full-text 功能會從資源擷取完整文字,並將其新增至資源描述中。


備註 –

小心使用 extract-full-text 功能。它會明顯增加資源描述的大小,因此導致資料庫膨脹,對網路整體頻寬造成負面影響。


範例

Generate fn=extract-full-text

特性

truncate

從資源擷取的最大字元數。

dst

接收完整文字的模式項目的名稱

extract-html-meta

extract-html-meta 功能會從 HTML 檔案擷取任何 <META><TITLE> 資訊,並將其新增至資源描述。可指定 content-type 以限制產生的 URL 類型。

特性

truncate

要擷取的最大位元數

type

選擇性特性。如果省略,則產生所有 URL

範例

Generate fn=extract-html-meta truncate=255 type=text/html

extract-html-text

extract-html-text 功能會從 HTML 檔案擷取開頭幾個字元 (不包括 HTML 標記),並將此文字新增至資源描述。此功能允許在 RD 中包括文件開頭部分的文字。可指定 content-type 以限制產生的 URL 類型。

特性

truncate

要擷取的最大位元數

skip-headings

設定 true 以忽略在文件中出現的任何 HTML 標頭。

type

選擇性特性。如果省略,則產生所有 URL

範例

Generate fn=extract-html-text truncate=255 type=text/html skip-headings=true

extract-html-toc

extract-html-toc 功能會從 HTML 標頭擷取目錄,並將其新增至資源描述。

特性

truncate

要擷取的最大位元數

level

要擷取的最大 HTML 標頭層級。這個特性會控制目錄深度。

範例

Generate fn=extract-html-toc truncate=255 level=3

extract-source

extract-source 功能會從指定的來源擷取指定的值,並將其新增至資源描述。

特性

src

列出來源名稱。您可以使用 -> 運算子為 RD 屬性定義新名稱。例如, type->content-type 會取得名為 type 的來源值,並將其儲存至 RD 中名為 content-type 的屬性下。

範例

Generate fn=extract-source src="md5,depth,rd-expires,rd-last-modified"

harvest-summarizer

harvest-summarizer 功能會在資源上執行 Harvest 摘要器,並將結果新增至資源描述中。

要執行 Harvest 摘要器,在執行網頁抓取程式之前,您的 path 中必須具備 $HARVEST_HOME/lib/gatherer

特性

summarizer

摘要器程式名稱

範例

Generate fn-harvest-summarizer summarizer=HTML.sum

關閉功能

列舉功能與產生功能均可在關閉階段中使用 filterrules-shutdown 功能。

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 使用者可修改特性

特性 

說明 

範例 

auto-proxy

指定網頁抓取程式的代理伺服器設定值。它可以是代理伺服器或用於自動配置代理伺服器的 JavaScript 檔案。 

auto-proxy="http://proxy_server/proxy.pac"

bindir

指定網頁抓取程式是否要新增 bin 目錄至 PATH 環境。這是一個額外的 PATH,供使用者在網頁抓取程式中執行外部程式,例如由 cmd-hook 特性指定的外部程式。

bindir=path

cmd-hook

指定外部的完成程序檔以在網頁抓取程式完成一次執行作業之後執行。這必須要是指令名稱的一個完整路徑。網頁抓取程式會從 /var/opt/SUNWportal/ 目錄執行此程序檔。

未設定任何預設值。 

必須至少註冊一個 RD,指令才能執行。 

 

cmd-hook=”command-string”

command-port

指定網頁抓取程式用來偵聽以接受來自其他程式 (如管理介面或網頁抓取程式控制面板) 之指令的連接埠號碼。 

為了安全理由,網頁抓取程式僅可接受來自本地主機的指令,除非 remote-access 設定為 yes

command-port=port_number

connect-timeout

指定所允許的網路回應連線請求的最長時間。 

預設為 120 秒。

command-timeout=seconds

convert-timeout

指定所允許的文件轉換的最長時間。 

預設為 600 秒。

convert-timeout=seconds

depth

指定網頁抓取程式從起點 URL 檢查的連結數。這個特性為任何未指定深度的起點 URL 設定預設值。 

預設為 10

值為負 1 (depth=-1) 表示該連結深度為無限。

depth=integer

email

指定執行網頁抓取程式者的電子郵件位址。 

電子郵件位址會連同 HTTP 請求標頭中的 user-agent 一起傳送,讓 Web 管理員能夠連絡在其網站上執行網頁抓取程式的人。 

預設為 user@domain

email=user@hostname

enable-ip

為每個所建立 RD 的 URL 產生 IP 位址。 

預設為 true

enable-ip=[true | yes | false | no]

enable-rdm-probe

確定伺服器是否支援 RDM。網頁抓取程式可根據此特性決定是否查詢每個所碰到的伺服器。如果伺服器支援 RDM,則網頁抓取程式不嘗試列舉伺服器資源,伺服器可以充當自己的資源描述伺服器。 

預設為 false

enable-rdm-probe=[true | false | yes | no]

enable-robots-txt

確定網頁抓取程式是否應該檢查每個所造訪站台的 robots.txt 檔案 (若有的話)。

預設為 yes

enable-robots-txt=[true | false | yes | no]

engine-concurrent

指定網頁抓取程式要使用的預建立執行緒的數目。 

預設為 10

您無法使用管理主控台互動式設定此特性。 

engine-concurrent=[1..100]

enumeration-filter

指定由網頁抓取程式使用以決定是否應列舉資源的列舉篩選器。值必須是定義於 filter.conf 檔案的篩選器名稱。

預設為 enumeration-default

您無法使用管理主控台互動式設定此特性。 

enumeration-filter=enumfiltername

generation-filter

指定由網頁抓取程式使用以決定是否應為資源產生資源描述的產生篩選器。值必須是定義於 filter.conf 檔案的篩選器名稱。

預設為 generation-default

您無法使用管理主控台互動式設定此特性。 

generation-filter=genfiltername

index-after-ngenerated

指定網頁抓取程式在為搜尋伺服器批次處理 RD 之前收集 RD 應持續的分鐘數。 

預設值是 30 分鐘。 


index-after-ngenerated=30

loglevel

指定記錄層級。loglevel 值如下所示:

  • 層級 0:只記錄嚴重錯誤

  • 層級 1:也記錄 RD 產生 (預設值)

  • 層級 2:也記錄擷取作業

  • 層級 3:也記錄篩選作業

  • 層級 4:也記錄產生作業

  • 層級 5:也記錄擷取進度

    預設值為 1


loglevel=[0...100]

max-connections

指定網頁抓取程式可以執行的最大並行擷取數。 

預設為 8


max-connections=[1..100]

max-filesize-kb

以 KB 為單位指定網頁抓取程式擷取檔案的最大檔案大小。 


max-filesize-kb=1024

max-memory-per-url / max-memory

以位元組為單位指定每個 URL 所使用的最大記憶體。如果 URL 需要更多記憶體,則 RD 會儲存至磁碟。 

預設為 64k

您無法使用管理主控台互動式設定此特性。 


max-memory-per-url=n_bytes

max-working

指定網頁抓取程式作業集設定的大小,也就是網頁抓取程式一次可處理的 URL 的最大數。 

您無法使用管理主控台互動式設定此特性。 


max-working=1024

onCompletion

確定網頁抓取程式在完成執行之後的工作事項。網頁抓取程式可以成為閒置模式、回送、重新開始或退出。 

預設為 idle

此特性搭配 cmd-hook 特性使用。網頁抓取程式完成時,會執行 onCompletion 動作,然後執行 cmd-hook 程式。


OnCompletion=[idle | loop | quit]

password

指定用於 httpd 認證與 ftp 連線的 password


password=string

referer

如果被設定為在存取網頁時將網頁抓取程式識別為參照,則指定 HTTP 請求中傳送的特性 


referer=string

register-user

指定用來將 RD 向搜尋伺服器資料庫註冊的使用者名稱。 

此特性無法透過搜尋伺服器管理主控台互動式設定。 


register-user=string

register-password

指定用來將 RD 向搜尋伺服器資料庫註冊的密碼。 

這個特性無法透過管理主控台互動式設定。 


register-password=string

remote-access

這個特性會決定網頁抓取程式是否可以接受來自遠端主機的指令。 

預設為 false


remote-access=[true | false | yes | no]

robot-state-dir

指定網頁抓取程式儲存其狀態的目錄。在此工作目錄中,網頁抓取程式可記錄收集的 RD 數目等等。 


robot-state-dir="/var/opt/SUNWportal/
searchservers/<searchserverid>/config/robot"

server-delay

指定兩次造訪相同網站之間的時間週期,可以避免網頁抓取程式存取相同網站的頻率過高。預設為 0 秒。 


server-delay=delay_in_seconds

site-max-connections

指定網頁抓取程式可以連至任何網站的最大並行連線數。 

預設為 2


site-max-connections=[1..100]

smart-host-heuristics

使網頁抓取程式能夠變更自動重建其 DNS 正規主機名稱的網站。例如,www123.siroe.com 變更為 www.siroe.com

預設為 false


smart-host-heuristics=[true | false]

tmpdir

指定網頁抓取程式建立暫存檔的位置。 

使用這個值設定環境變數 TMPDIR


tmpdir=path

user-agent

指定隨 http-request 中的電子郵件位址傳送至伺服器的特性。


user-agent=SunONERobot/6.2

username

指定執行網頁抓取程式的使用者名稱,該名稱用於 httpd 認證和 ftp 連線。

預設為 anonymous


username=string

robot.conf 檔案範例

本節將介紹一個 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>