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