本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为知识库爬取网页
Amazon Bedrock 提供的 Web 爬网程序可以连接并爬取您选择在 Amazon Bedrock 知识库中使用的 URL。您可以根据所选 URL 的设定范围或限制来爬取网站页面。您可以使用适用于 Amazon Bedrock 的 AWS 管理控制台
注意
Web 爬网程序数据来源连接器目前为预览版,可能随时发生变化。
当选择要爬取的网站时,您必须遵守 Amazon 可接受使用政策
Web 爬网程序根据 RFC 9309
可以爬取的网页内容项目数量有限制,每个内容项目的 MB 数量是有限的。请参阅 Quotas for knowledge bases。
支持的特征
Web 爬网程序从种子 URL 开始连接并爬取 HTML 网页,遍历同一主域名和路径下的所有子链接。如果任何 HTML 页面引用了支持的文档,Web 爬网程序就会爬取这些文档,无论它们是否在同一主域名内。您可以通过更改爬网配置来修改爬取行为。请参阅 连接配置。
您可以执行以下操作:
-
选择多个要爬取的源 URL,并将 URL 的范围设置为仅爬取主机或同时包含子域。
-
爬取源 URL 中包含的静态网页。
-
指定自定义用户代理后缀,为自己的爬网程序设置规则。
-
包含或排除与筛选模式匹配的某些 URL。
-
遵守标准 robots.txt 指令,例如 Allow 和 Disallow。
-
限制要抓取的 URL 范围,也可以选择排除符合筛选模式的 URL。
-
限制爬取 URL 的速率和要爬取的最大页面数。
-
在 Amazon CloudWatch 中查看爬取的 URL 的状态
先决条件
要使用 Web 爬网程序,请确保您:。
-
检查是否授权您爬取源 URL。
-
检查源 URL 对应的 robots.txt 路径是否阻止了爬取 URL。Web 爬网程序遵守 robots.txt 标准:如果未找到该网站的 robots.txt,则默认为
disallow。Web 爬网程序根据 RFC 9309遵守 robots.txt 标准。您还可以指定自定义用户代理标头后缀,为自己的爬网程序设置规则。有关更多信息,请参阅本页面上连接配置说明中的 Web 爬网程序 URL 访问权限。 -
启用 CloudWatch Logs 传送功能并按照以下示例 Web 爬网程序日志操作,可查看摄取 Web 内容的数据摄取作业的状态,以及某些 URL 是否无法检索。
注意
当选择要爬取的网站时,您必须遵守 Amazon 可接受使用政策
连接配置
有关爬取 URL 的同步范围、包含/排除筛选条件、URL 访问权限、增量同步及其工作原理的更多信息,请选择以下相应的项:
您可以根据每个页面 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 为“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。爬取大型网站需要很长时间。
如果文件类型没有排除模式,则无论范围大小都会爬取支持的文件类型。
Web 爬网程序支持静态网站。
您还可以限制爬取 URL 的速率以控制对爬取速度的节流。您可以设置每分钟在每个主机上爬取的最大 URL 数量。此外,您还可以设置要爬取的网页总数的最大数量(最多 25000)。请注意,如果源 URL 中的网页总数超过您设置的最大值,则您的数据来源同步/摄取作业将失败。
您可以根据自己的范围包含或排除某些 URL。如果文件类型没有排除模式,则无论范围大小都会爬取支持的文件类型。如果您指定了包含和排除筛选条件,且两者都与 URL 匹配,则优先排除筛选条件,不会爬取网页内容。
重要
有问题的正则表达式模式筛选条件会导致灾难性的回溯和瞻前顾后,因此会被拒绝。
排除以“.pdf”结尾的 URL 或 PDF 网页附件的正则表达式筛选模式示例:".*\.pdf$"
您可以使用 Web 爬网程序来爬取您有权爬取的网站的页面。
当选择要爬取的网站时,您必须遵守 Amazon 可接受使用政策
Web 爬网程序根据 RFC 9309
您可以将某些用户代理机器人指定为“允许”或“不允许”用户代理爬取您的源 URL。您可以修改网站的 robots.txt 文件来控制 Web 爬网程序如何爬取您的源 URL。爬网程序将首先在 robots.txt 文件中查找 bedrockbot 规则,然后查找通用 bedrockbot-UUID 规则。
您还可以添加 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
每次运行 Web 爬网程序时,都会检索从符合范围与筛选条件的源 URL 可以访问的所有 URL 的内容。对于首次同步所有内容后的增量同步,Amazon Bedrock 会使用新内容和修改过的内容更新知识库,并删除不再存在的旧内容。有时,爬网程序可能无法分辨网站内容是否已被删除;在这种情况下,它会偏向于将旧内容保留在知识库中。
要将数据来源与知识库同步,请使用 StartIngestionJob API 或在控制台中选择知识库,然后在数据来源概述部分中选择同步。
重要
您从数据来源同步的所有数据都可供有检索数据的 bedrock:Retrieve 权限的任何人使用。这也可以包括任何具有受控数据来源权限的数据。有关更多信息,请参阅知识库权限。