

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 為您的知識庫網路爬取網頁
<a name="webcrawl-data-source-connector"></a>

Amazon Bedrock 提供的 Web 編目程式會連線至您選取的 URL 並進行網路爬取，以用於 Amazon Bedrock 知識庫中。您可以根據設定的範圍或限制，為所選的 URL 網路爬取網站頁面。您可以使用 [Amazon Bedrock 的 AWS 管理主控台](https://console.aws.amazon.com/bedrock/home)或 [CreateDataSource API](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 來網路爬取網站頁面 (請參閱 Amazon Bedrock [支援的 SDK 和 AWS CLI](https://docs.aws.amazon.com/bedrock/latest/APIReference/welcome.html))。目前，只有 Amazon OpenSearch Serverless 向量存放區可搭配此資料來源使用。

**注意**  
Web 編目程式資料來源連接器為預覽版本，可能會有所變更。

選取要網路爬取的網站時，您必須遵守 [Amazon 可接受的使用政策](https://aws.amazon.com/aup/)以及 Amazon 所有其他條款。請記住，您只能使用 Web 編目程式為自己的網頁或您具有授權可網路爬取的網頁建立索引，且必須符合 robots.txt 組態。

Web 編目程式遵守 [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html) 符合 robots.txt 的規定。

可以網路爬取的網頁內容項目數量及各內容項目的大小 (單位 MB) 都有限制。請參閱[知識庫的配額](https://docs.aws.amazon.com/bedrock/latest/userguide/quotas.html)。

**Topics**
+ [支援的功能](#supported-features-webcrawl-connector)
+ [必要條件](#prerequisites-webcrawl-connector)
+ [連線組態](#configuration-webcrawl-connector)

## 支援的功能
<a name="supported-features-webcrawl-connector"></a>

Web 編目程式從種子 URL 開始連線到 HTML 頁面並網路爬取 HTML 頁面，周遊相同頂層主要網域和路徑下的所有子連結。如果有任何 HTML 頁面參考支援的文件，Web 編目程式將擷取這些文件，無論其是否位於相同的頂層主要網域中。您可以變更網路爬取組態來修改網路爬取行為 - 請參閱[連線組態](#configuration-webcrawl-connector)。

支援您執行下列動作：
+ 選取多個來源 URL 進行網路爬取，並將 URL 的範圍設定為僅網路爬取主機或亦包含子網域。
+ 網路爬取屬於來源 URL 一部分的靜態網頁。
+ 指定自訂使用者代理程式字尾，為您自己的編目程式設定規則。
+ 包含或排除符合篩選條件模式的特定 URL。
+ 遵守標準 robots.txt 指令，例如「Allow」和「Disallow」。
+ 限制要網路爬取的 URL 範圍，並選擇性地排除符合篩選條件模式的 URL。
+ 限制網路爬取 URL 的速率和要網路爬取的頁面數目上限。
+ 在 Amazon CloudWatch 中檢視已網路爬取 URL 的狀態

## 必要條件
<a name="prerequisites-webcrawl-connector"></a>

**若要使用 Web 編目程式，請確定：**
+ 檢查您是否獲得網路爬取來源 URL 的授權。
+ 檢查對應至來源 URL 的 robots.txt 路徑，並不會阻止網路爬取 URL。Web 編目程式遵循 robots.txt 的標準：如果網站找不到 robots.txt，則預設為 `disallow`。Web 編目程式遵守 [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html) 符合 robots.txt 的規定。您也可以指定自訂使用者代理程式標頭字尾，為您自己的編目程式設定規則。如需詳細資訊，請參閱此頁面上 [連線組態](#configuration-webcrawl-connector) 指示中的 Web 編目程式 URL 存取。
+ [啟用 CloudWatch Logs 交付](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-bases-logging.html)，並遵循 Web 編目程式日誌的範例，以檢視用於擷取 Web 內容的資料擷取任務狀態，以及是否無法擷取特定 URL。

**注意**  
選取要網路爬取的網站時，您必須遵守 [Amazon 可接受的使用政策](https://aws.amazon.com/aup/)以及 Amazon 所有其他條款。請記住，您只能使用 Web 編目程式為自己的網頁或您具有授權可網路爬取的網頁建立索引。

## 連線組態
<a name="configuration-webcrawl-connector"></a>

如需網路爬取 URL、包含/排除篩選條件、URL 存取、增量同步及這些運作方式的同步範圍詳細資訊，請選取下列項目：

### 網路爬取 URL 的同步範圍
<a name="ds-sync-scope"></a>

您可以根據每個頁面 URL 與種子 URL 間的特定關係，來限制可網路爬取 URL 的範圍。若要加速網路爬取，您可以將 URL 限制為具有相同主機及種子 URL 其初始 URL 路徑的 URL。如需更廣泛的網路爬取，您可以選擇網路爬取具有相同主機或在種子 URL 其任何子網域內的 URL。

您可以從下列選項來選擇。
+ 預設：將網路爬取限制在屬於相同主機且具有相同初始 URL 路徑的網頁。例如，如果種子 URL 為「https://aws.amazon.com/bedrock/」，則將僅網路爬取此路徑與從此路徑延伸的網頁，例如「https://aws.amazon.com/bedrock/agents/」。例如，不會網路爬取像是「https://aws.amazon.com/ec2/」的同級 URL。
+ 僅限主機：將網路爬取限制在屬於相同主機的網頁。例如，如果種子 URL 為「https://aws.amazon.com/bedrock/」，則也將網路爬取具有「https://aws.amazon.com」的網頁，例如「https://aws.amazon.com/ec2」。
+ 子網域：包含網路爬取與種子 URL 具有相同主要網域的任何網頁。例如，如果種子 URL 為「https://aws.amazon.com/bedrock/」，則也將網路爬取包含「amazon.com」(子網域) 的任何網頁，例如「https://www.amazon.com」。

**注意**  
請確定您未網路爬取過多的網頁。不建議在沒有篩選條件或範圍限制的情況下網路爬取大型網站，例如 wikipedia.org。網路爬取大型網站需花費很長的時間進行網路爬取。  
無論範圍為何，且如果該檔案類型沒有排除模式，都會網路爬取[支援的檔案類型](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html)。

Web 編目程式支援靜態網站。

您也可以限制網路爬取 URL 的速率，以控制網路爬取速度的限流。您可以設定每分鐘網路爬取每個主機的 URL 數目上限。此外，您也可以設定要網路爬取的網頁總數上限 (最多 25,000 個)。請注意，如果來源 URL 的網頁總數超過設定上限，則資料來源同步/擷取任務將會失敗。

### 包含/排除篩選條件
<a name="ds-inclusion-exclusion"></a>

您可以根據範圍包含或排除特定 URL。無論範圍為何，且如果該檔案類型沒有排除模式，都會網路爬取[支援的檔案類型](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html)。如果您指定包含篩選條件和排除篩選條件，且兩者皆與文件相符，則排除篩選條件會優先，且不會網路爬取 Web 內容。

**重要**  
導致[災難性回溯](https://docs.aws.amazon.com/codeguru/detector-library/python/catastrophic-backtracking-regex/)和前瞻的有問題規則運算式模式篩選條件會遭到拒絕。

例如，會排除結尾為「.pdf」的 URL 或 PDF 網頁附件的規則運算式篩選條件模式：*".\*\\.pdf$"*

### Web 編目程式 URL 存取
<a name="ds-webcrawl-identity-crawling"></a>

您可以使用 Web 編目程式來編目您獲授權網路爬取的網站頁面。

選取要網路爬取的網站時，您必須遵守 [Amazon 可接受的使用政策](https://aws.amazon.com/aup/)以及 Amazon 所有其他條款。請記住，您只能使用 Web 編目程式為自己的網頁或您具有授權可網路爬取的網頁建立索引。

Web 編目程式遵守 [RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html) 符合 robots.txt 的規定。

您可以將特定使用者代理程式機器人指定為「允許」或「不允許」使用者代理程式來網路爬取來源 URL。您可以修改網站的 robots.txt 檔案，以控制 Web 編目程式如何網路爬取來源 URL 的方式。編目程式會先尋找 `bedrockbot-UUID ` 規則，然後在 robots.txt 檔案中尋找一般 `bedrockbot` 規則。

您也可以新增 User-Agent 字尾，用於在機器人保護系統中將您的編目程式加入允許清單。請注意，此字尾不需要新增至 `robots.txt` 檔案，以確保沒有一切可以模擬使用者代理程式字串。例如，若要允許 Web 編目程式網路爬取所有網站內容，且不允許任何其他機器人的網路爬取，請使用下列指令：

```
User-agent: bedrockbot-UUID # Amazon Bedrock Web Crawler
Allow: / # allow access to all pages
User-agent: * # any (other) robot
Disallow: / # disallow access to any pages
```

### 增量同步
<a name="ds-incremental-sync"></a>

每次 Web 編目程式執行時，都會擷取可從來源 URL 連線且符合範圍和篩選條件的所有 URL 內容。對於在所有內容第一次同步後的增量同步，Amazon Bedrock 將使用新的和修改後的內容更新您的知識庫，並移除不再存在的舊內容。有時，編目程式可能無法判斷內容是否已從網站中移除；在這種情況下，它會傾向在知識庫中保留舊內容。

若要將資料來源與知識庫同步，請使用 [StartIngestionJob](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_StartIngestionJob.html) API，或在主控台中選取知識庫，然後在資料來源概觀區段中選取**同步**。

**重要**  
您從資料來源同步的所有資料可供具有 `bedrock:Retrieve` 許可能擷取資料的任何人使用。這也可以包含具有受控資料來源許可的任何資料。如需詳細資訊，請參閱[知識庫許可](https://docs.aws.amazon.com/bedrock/latest/userguide/kb-permissions.html)。

------
#### [ Console ]

**將 Web 編目程式資料來源連接到知識庫**

1. 遵循 [透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](knowledge-base-create.md) 的步驟，然後選擇 **Web 編目程式**做為資料來源。

1. 提供資料來源的名稱和選用的描述。

1. 提供所要網路爬取 URL 的**來源 URL**。您最多可以新增 9 個額外的 URL，方法是選取**新增來源 URL**。透過提供來源 URL，即表示您確認已獲授權可網路爬取其網域。

1. 在**進階設定**區段中，您可以選擇設定下列項目：
   + **用於暫時性資料儲存的 KMS 金鑰。**– 您可以使用預設 AWS 受管金鑰 或您自己的 KMS 金鑰，在將資料轉換為嵌入時加密暫時性資料。如需詳細資訊，請參閱 [資料擷取期間的暫時性資料儲存加密](encryption-kb.md#encryption-kb-ingestion)。
   + **資料刪除政策** – 您可以刪除預設存放在向量存放區中資料來源的向量嵌入，或選擇保留向量存放區資料。

1. (選用) 為 **bedrock-UUID-** 提供使用者代理程式字尾，用於在存取 Web 伺服器時識別編目程式或機器人。

1. 在**同步範圍**區段中設定下列項目：

   1. 選取用於網路爬取您來源 URL 的**網站網域範圍**：
      + 預設：將網路爬取限制在屬於相同主機且具有相同初始 URL 路徑的網頁。例如，如果種子 URL 為「https://aws.amazon.com/bedrock/」，則將僅網路爬取此路徑與從此路徑延伸的網頁，例如「https://aws.amazon.com/bedrock/agents/」。例如，不會網路爬取像是「https://aws.amazon.com/ec2/」的同級 URL。
      + 僅限主機：將網路爬取限制在屬於相同主機的網頁。例如，如果種子 URL 為「https://aws.amazon.com/bedrock/」，則也將網路爬取具有「https://aws.amazon.com」的網頁，例如「https://aws.amazon.com/ec2」。
      + 子網域：包含網路爬取與種子 URL 具有相同主要網域的任何網頁。例如，如果種子 URL 為「https://aws.amazon.com/bedrock/」，則也將網路爬取包含「amazon.com」(子網域) 的任何網頁，例如「https://www.amazon.com」。
**注意**  
請確定您未網路爬取過多的網頁。不建議在沒有篩選條件或範圍限制的情況下網路爬取大型網站，例如 wikipedia.org。網路爬取大型網站需花費很長的時間進行網路爬取。  
無論範圍為何，且如果該檔案類型沒有排除模式，都會網路爬取[支援的檔案類型](https://docs.aws.amazon.com/bedrock/latest/userguide/knowledge-base-ds.html)。

   1. 輸入**網路爬取速度最大限流**。每分鐘擷取每部主機 1 到 300 個之間的 URL。網路爬取速度越快，負載會增加，但花費的時間較少。

   1. 輸入 1 到 25000 之間的**資料來源同步的頁數上限**。限制從來源 URL 網路爬取的網頁數量上限。如果網頁超過此數字，則資料來源同步將會失敗，而且不會擷取任何網頁。

   1. 對於 **URL 規則運算式**模式 (選用)，您可以在方塊中輸入規則運算式模式來新增**包含模式**或**排除模式**。您可以選取**新增模式**來新增最多 25 個包含和 25 個排除篩選條件模式。其會根據您的範圍來網路爬取包含和排除模式。如有衝突，則以排除模式為優先。

1. (選用) 在**內容剖析和分塊**區段中，您可以自訂如何將資料剖析和分塊。請參閱下列資源進一步了解這些自訂項目：
   + 如需剖析選項的詳細資訊，請參閱[剖析資料來源的選項](kb-advanced-parsing.md)。
   + 如需有關分塊策略的詳細資訊，請參閱[內容群集如何適用於知識庫](kb-chunking.md)。
**警告**  
在連線至資料來源之後，便無法變更分塊策略。
   + 如需如何使用 Lambda 函數自訂資料分塊和處理中繼資料的詳細資訊，請參閱[使用自訂轉換 Lambda 函數來定義如何擷取您的資料](kb-custom-transformation.md)。

1. 繼續選擇嵌入模型和向量存放區。若要查看剩餘的步驟，請返回[透過連線至 Amazon Bedrock 知識庫中的資料來源來建立知識庫](knowledge-base-create.md)，並在連接資料來源後繼續進行該步驟。

------
#### [ API ]

若要使用 Web 編目程式將知識庫連接至資料來源，請使用 [Amazon Bedrock 代理程式建置時期端點](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)傳送 [CreateDataSource](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_CreateDataSource.html) 請求，在 [DataSourceConfiguration](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_DataSourceConfiguration.html) 的 `type` 欄位中指定 `WEB`，並包含 `webConfiguration` 欄位。以下是 Amazon Bedrock 知識庫的 Web 編目程式組態範例。

```
{
    "webConfiguration": {
        "sourceConfiguration": {
            "urlConfiguration": {
                "seedUrls": [{
                    "url": "https://www.examplesite.com"
                }]
            }
        },
        "crawlerConfiguration": {
            "crawlerLimits": {
                "rateLimit": 50,
                "maxPages": 100
            },
            "scope": "HOST_ONLY",
            "inclusionFilters": [
                "https://www\.examplesite\.com/.*\.html"
            ],
            "exclusionFilters": [
                "https://www\.examplesite\.com/contact-us\.html"
            ],
            "userAgent": "CustomUserAgent"
        }
    },
    "type": "WEB"
}
```

若要了解您可以透過包含選用 `vectorIngestionConfiguration` 欄位套用至擷取的自訂項目，請參閱[自訂資料來源的擷取](kb-data-source-customize-ingestion.md)。

------