篩選功能在「中介資料」和「資料」階段作業,以根據由功能及其特性所指定的特定條件來允許或拒絕資源。這些功能可以用於 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