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