

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon Kendra 网络爬虫连接器 v1.0
<a name="data-source-v1-web-crawler"></a>

您可以使用 Amazon Kendra Web Crawler 来抓取和索引网页。

您只能爬取公共网站和使用安全通信协议（安全超文本传输协议（HTTPS））的网站。如果您在爬取网站时收到错误，则可能是该网站被阻止爬网。要爬取内部网站，可以设置 Web 代理。Web 代理必须面向公众。

*当选择要编制索引的网站时，您必须遵守 [Amazon 可接受使用政策](https://aws.amazon.com/aup/)以及所有其他 Amazon 条款。请记住，您只能使用 Amazon Kendra Web Crawler 来索引自己的网页或您有权编制索引的网页。要了解如何阻止 Amazon Kendra Web Crawler 将您的网站编入索引，请参阅[为 Amazon Kendra Web Crawler 配置`robots.txt`文件](stop-web-crawler.md)。*

**注意**  
滥用 Amazon Kendra Web Crawler 来积极抓取你不拥有的网站或网页是不被视为**不可**接受的用法。

要对 Amazon Kendra 网络爬虫数据源连接器进行故障排除，请参阅[数据来源故障排除](troubleshooting-data-sources.md)。

**Topics**
+ [支持的功能](#supported-features-v1-web-crawler)
+ [先决条件](#prerequisites-v1-web-crawler)
+ [连接说明](#data-source-v1-procedure-web-crawler)
+ [了解详情](#web-crawler-learn-more)

## 支持的功能
<a name="supported-features-v1-web-crawler"></a>
+ Web 代理
+ 包含/排除筛选条件

## 先决条件
<a name="prerequisites-v1-web-crawler"></a>

在使用 Amazon Kendra 索引您的网站之前，请先检查您的网站和 AWS 帐户的详细信息。

**对于您的网站，请确保：**
+ 已复制您要编入索引 URLs 的网站的种子或站点地图。
+ **对于需要基本身份验证的网站**：记下用户名和密码，并复制网站的主机名和端口号。
+ **可选：**如果您想使用 Web 代理连接到要爬取的内部网站，请复制网站的主机名和端口号。该 Web 代理必须面向公众。 Amazon Kendra 支持连接到通过基本身份验证提供支持的 Web 代理服务器，或者无需身份验证即可连接的服务器。
+ 在网页以及计划用于编制同一索引的其他数据来源中，已检查每个文档都是唯一的。您要用于编制索引的每个数据来源在所有数据来源中都不能包含相同的文档。文档对索引来说 IDs 是全局的，并且每个索引必须是唯一的。

**在您的 AWS 账户中，请确保您有：**
+ [已创建 Amazon Kendra 索引](https://docs.aws.amazon.com/kendra/latest/dg/create-index.html)，如果使用 API，则记下索引 ID。
+ 为您的数据源@@ [创建了一个 IAM 角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)，如果使用 API，请记下该角色的 ARN。 IAM 
**注意**  
如果您更改了身份验证类型和证书，则必须更新您的 IAM 角色才能访问正确的 AWS Secrets Manager 密钥 ID。
+ 对于需要身份验证的网站，或者如果使用带身份验证的 Web 代理，请将您的身份验证凭据存储在 AWS Secrets Manager 密钥中，如果使用 API，请记下密钥的 ARN。
**注意**  
我们建议您定期刷新或轮换您的凭证和密码。为了安全起见，请仅提供必要的访问权限级别。我们建议**不要**跨数据来源以及连接器版本 1.0 和 2.0（如果适用）重复使用凭证和密钥。

如果您没有现有的 IAM 角色或密钥，则可以在将web crawler数据源连接到时使用控制台创建新的 IAM 角色和 Secrets Manager 密钥 Amazon Kendra。如果您使用的是 API，则必须提供现有 IAM 角色和 Secrets Manager 密钥的 ARN 以及索引 ID。

## 连接说明
<a name="data-source-v1-procedure-web-crawler"></a>

要 Amazon Kendra 连接到您的web crawler数据源，您必须提供web crawler数据源的必要详细信息， Amazon Kendra 以便访问您的数据。如果您尚未进行配置，web crawler请参 Amazon Kendra 阅[先决条件](#prerequisites-v1-web-crawler)。

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

**要连接 Amazon Kendra 到 web crawler** 

1. 登录 AWS 管理控制台 并打开[Amazon Kendra 控制台](https://console.aws.amazon.com/kendra/)。

1. 在左侧导航窗格中，选择**索引**，然后从索引列表中选择要使用的索引。
**注意**  
您可以选择在**索引设置**下配置或编辑您的**用户访问控制**设置。

1. 在**开始使用**页面上，选择**添加数据来源**。

1. 在**添加数据来源**页面上，选择 **Web 爬网程序连接器**，然后选择**添加连接器**。如果使用版本 2（如果适用），请选择带有“V2.0”标签的 **Web 爬网程序连接器**。

1. 在**指定数据来源详细信息**页面上，输入以下信息：

   1. 在**名称和描述**中，在**数据来源名称**中输入您的数据来源的名称。可以包含连字符，但不能包含空格。

   1. （可选）**描述**：输入数据来源的描述信息。

   1. 在**默认语言**中，选择用于筛选文档以编制索引的语言。除非另行指定，否则语言默认为英语。在文档元数据中指定的语言会覆盖所选语言。

   1. 在**标签**中，用于**添加新标签**-包括可选标签以搜索和筛选您的资源或跟踪您的 AWS 成本。

   1. 选择**下一步**。

1. 在**定义访问权限和安全性**页面上，请输入以下信息：

   1. **对于**来源**，根据您的用例在**来源 URLs和来源站点地图**之间进行选择，然后输入每个站点地图的值。**

      您最多可以添加 10 个来源地图 URLs 和 3 个站点地图。
**注意**  
如果您想抓取站点地图，请检查基本网址或根网址是否与站点地图页面上 URLs 列出的网址相同。例如，如果您的站点地图 URL 是 *https://example.com/sitemap-page.html*，则此站点地图页面上 URLs 列出的也应使用基本 URL “https://example.com/”。

   1. （可选）对于 **Web 代理** - 请输入以下信息：

      1. **主机名** - 需要 Web 代理的主机名。

      1. **端口号** - 主机 URL 传输协议使用的端口。端口号应为介于 0 到 65535 之间的数值。

      1. 对于 **Web 代理凭证** - 如果您的 Web 代理连接需要身份验证，请选择现有密钥或创建新密钥来存储您的身份验证凭证。如果您选择创建新密钥，则会打开 AWS Secrets Manager 密钥窗口。

      1. 在**创建 AWS Secrets Manager Secrets Manager 密钥窗口**中输入以下信息：

         1. **密钥名称** - 密钥的名称。前缀“AmazonKendra-WebCrawler-”会自动添加到您的密钥名称中。

         1. 对于**用户名**和**密码** - 输入网站的这些基本身份验证凭证。

         1. 选择**保存**。

   1. （可选）**需要身份验证的主机** - 选择添加其他需要身份验证的主机。

   1. **IAM 角色**-选择现有 IAM 角色或创建新 IAM 角色来访问您的存储库凭据和索引内容。
**注意**  
IAM 用于索引的角色不能用于数据源。如果您不确定是否将现有角色用于编制索引或常见问题解答，为了避免出错，请选择**创建新角色**。

   1. 选择**下一步**。

1. 在**配置同步设置**页面上，请输入以下信息：

   1. **爬取范围** - 选择要爬取的网页类型。

   1. **抓取深度**-从种子 URL 中选择 Amazon Kendra 应该爬行的关卡数。

   1. **高级爬取设置**和**其他配置**，输入以下信息：

      1. **最大文件大小** - 要爬取的最大网页或附件大小。最小 0.000001 MB（1 字节）。最大 50 MB。

      1. **每页最多链接数** - 在每个页面上爬取的最大链接数量。按显示顺序爬取链接。最低限度 1 link/page. Maximum 1000 links/page。

      1. **最大限制**-每分钟每个主机名的最大 URLs 搜索次数。最低限度 1 URLs/host name/minute. Maximum 300 URLs/host name/minute。

      1. 正@@ **则表达式模式**-添加正则表达式模式以包含或排除某些模式。 URLs最多可以添加 100 个模式。

   1. 在 “**同步运行计划**” 中，“**频率**”-选择与数据源同步的频率。 Amazon Kendra 

   1. 选择**下一步**。

1. 在**查看和创建**页面上，请检查输入的信息是否正确，然后选择**添加数据来源**。您也可以选择在此页面上编辑信息。成功添加数据来源后，您的数据来源将显示在**数据来源**页面上。

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

**要连接 Amazon Kendra 到 web crawler**

您必须使用 [WebCrawlerConfiguration](https://docs.aws.amazon.com/kendra/latest/dg/API_WebCrawlerConfiguration.html)API 指定以下内容：
+ **URLs**—指定网站的种子或起点 URLs ，或者您要使用和进行[https://docs.aws.amazon.com/kendra/latest/dg/API_SeedUrlConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_SeedUrlConfiguration.html)爬网 URLs 的网站的站点地图。[https://docs.aws.amazon.com/kendra/latest/dg/API_SiteMapsConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_SiteMapsConfiguration.html)
**注意**  
如果您想抓取站点地图，请检查基本网址或根网址是否与站点地图页面上 URLs 列出的网址相同。例如，如果您的站点地图 URL 是 *https://example.com/sitemap-page.html*，则此站点地图页面上 URLs 列出的也应使用基本 URL “https://example.com/”。
+ **密钥 Amazon资源名称（ARN）**- 如果网站需要基本身份验证，则需要提供主机名、端口号和用于存储您的用户名和密码的基本身份验证凭证的密钥。您可以使用 [https://docs.aws.amazon.com/kendra/latest/dg/API_AuthenticationConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_AuthenticationConfiguration.html) API 提供密钥 ARN。密钥必须使用具有以下键的 JSON 结构存储：

  ```
  {
      "username": "user name",
      "password": "password"
  }
  ```

  您也可以使用 AWS Secrets Manager 密钥提供 Web 代理凭证。您可以使用 [https://docs.aws.amazon.com/kendra/latest/dg/API_ProxyConfiguration.html](https://docs.aws.amazon.com/kendra/latest/dg/API_ProxyConfiguration.html) API 提供网站主机名称和端口号，还可以选择提供存储您的 Web 代理凭证的密钥。
+ **IAM ro** le —指定`RoleArn`何时调用`CreateDataSource`为 IAM 角色提供访问您的 Secrets Manager 密钥的权限以及呼叫 Web 爬网程序连接器 APIs 所需的公众的权限，以及。 Amazon Kendra有关更多信息，请参阅 [Web 爬网程序数据来源的IAM 角色](https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-ds)。

您还可以添加以下可选功能：
+ **爬取模式** - 选择是仅爬取网站主机名，还是爬取带有子域的主机名，还是同时爬取网页链接到的其他域名。
+ 从种子层爬取的“深度”或层数。例如，种子 URL 页面的深度为 1，在该页面上同时爬取的所有超链接的深度都是 2。
+ 单个网页 URLs 上要抓取的最大数量。
+ 要爬取的网页的最大大小（以 MB 为单位）。
+ 每位网站主机每分钟的最大 URLs 抓取次数。
+ 用于连接和爬取内部网站的 Web 代理主机和端口号。例如，*https://a.example.com/page1.html* 的主机名是“a.example.com”，端口号是 443，这是 HTTPS 的标准端口。如果连接至网站主机需要 Web 代理凭证，您可以创建存储凭证的 AWS Secrets Manager 。
+ 访问和爬取需要用户身份验证的网站的身份验证信息。
+ 您可以使用*自定义文档富集*工具将 HTML 元标签提取为字段。有关更多信息，请参阅[在提取过程中自定义文档元数据](https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html)。有关提取 HTML 元标签的示例，请参阅 [CDE 示例](https://github.com/aws-samples/amazon-kendra-cde-examples)。
+  “**包含” 和 “排除” 筛选器**-指定是包含还是排除某些 URLs筛选器。
**注意**  
大多数数据来源使用正则表达式模式，即称为筛选条件的包含或排除模式。如果您指定包含筛选条件，则只会为与包含筛选条件匹配的内容编制索引。不会为任何与包含筛选条件不匹配的文档编制索引。如果您指定包含和排除筛选条件，则不会为与排除筛选条件匹配的文档编制索引，即使它们与包含筛选条件相匹配。

------

## 了解详情
<a name="web-crawler-learn-more"></a>

要了解有关 Amazon Kendra 与web crawler数据源集成的更多信息，请参阅：
+ [使用 Amazon Kendra Web Crawler 重新构想知识发现](https://aws.amazon.com/blogs/machine-learning/reimagine-knowledge-discovery-using-amazon-kendras-web-crawler/)