网络爬虫集成 - Amazon Quick Suite

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

网络爬虫集成

借助 Amazon Quick Suite 中的 Web Crawler 集成,您可以通过抓取和索引网页来根据网站内容创建知识库。此集成支持数据摄取功能,并根据您的用户等级提供不同的身份验证选项。

您能做什么

Web Crawler 用户可以询问有关存储在网站和网页上的内容的问题。例如,用户可以查询文档站点、知识库或在多个网页上搜索特定信息。该集成使用户能够快速访问和理解 Web 内容中的信息,无论其位置或类型如何,同时提供上下文详细信息,例如发布日期、修改历史记录和页面所有权,所有这些都有助于更有效地发现信息并做出更明智的决策。

注意

Web Crawler 集成仅支持数据摄取。它不提供用于管理网站或 Web 服务的操作功能。

开始前的准备工作

在设置 Web Crawler 集成之前,请确保具备以下条件:

  • URLs 要抓取和索引的网站。

  • 亚马逊快速套件企业版订阅

  • 你要抓取的网站必须是公开的,不能位于防火墙后面,也不能需要特殊的浏览器插件才能连接。

准备网站访问和身份验证

在 Amazon Quick Suite 中设置集成之前,请准备好您的网站访问凭证。Web Crawler 集成支持基于您的用户角色的不同身份验证方法:

未进行身份验证

适用于所有用户。用于抓取不需要身份验证的公共网站。

基本身份验证

适用于安全网站的标准 HTTP 基本身份验证。HTTP 基本身份验证是一种通过要求输入用户名和密码来保护 Web 资源的简单方法。当您使用基本身份验证访问受保护的网站时,您的浏览器将显示一个弹出对话框,要求您提供凭据。

必需的凭证:

  • 登录页面网址-登录页面的网址

  • 用户名-基本身份验证用户名

  • 密码-基本身份验证密码

表单身份验证

适用于使用基于 HTML 表单的登录页面的网站。

表单已设置为供您指定。 XPath XPath (XML 路径语言)是一种查询语言,用于浏览 HTML 或 XML 文档中的元素和属性。要识别网页元素,用户可以使用浏览器的开发者工具,通常通过右键单击所需的元素并选择 “检查” 或按 F12 来访问。 XPath 在开发者工具中突出显示该元素后,用户可以右键单击相应的 HTML 代码,选择 “复制”,然后从子菜单中选择 XPath “复制”。这将生成一个唯一的路径,用于标识元素在文档结构中的确切位置。结果 XPath可能看起来像 //input [@id ='username'] 或 //button [@type ='submit'],其中双正斜杠 (//) 表示路径可以从文档中的任何位置开始,方括号包含有助于识别特定元素的属性。

必填信息:

  • 登录页面 URL-登录表单的 URL(例如https://example.com/login

  • 用户名-登录用户名

  • 密码-登录密码

  • 用户名字段 XPath- XPath 到用户名输入字段(例如//input[@id='username']

  • 用户名按钮 XPath(可选)- XPath 到用户名按钮字段(例如//input[@id='username_button']

  • 密码字段 XPath- XPath 到密码输入字段(例如//input[@id='password']

  • 密码按钮 XPath- XPath 到密码按钮(例如//button[@type='password']

SAML 身份验证

适用于使用基于 SAML 的单点登录身份验证的网站。

SAML(安全断言标记语言)身份验证是一种联合身份标准,它允许用户通过集中式身份提供商进行身份验证,而不是直接在每个应用程序中输入凭证,从而实现单点登录 (SSO)。与传统的表单身份验证不同,用户在应用程序登录页面的字段中键入用户名和密码,而 SAML 会将用户重定向到其组织的身份提供者(例如 Microsoft Azure AD 或 Okta)进行身份验证,然后将安全令牌传回应用程序以授予访问权限。这种方法提供了跨多个应用程序的无缝用户体验,为 IT 管理员提供了集中式用户管理,并通过多因素身份验证等功能增强了安全性,而表单身份验证要求对每个应用程序进行单独的凭据管理

必填信息:

  • 登录页面网址-SAML 登录页面的网址

  • 用户名-SAML 用户名

  • 密码-SAML 密码

  • 用户名字段 XPath- XPath 到用户名输入字段(例如//input[@id='username']

  • 用户名按钮 XPath(可选)- XPath 到用户名按钮字段(例如//input[@id='username_button']

  • 密码字段 XPath- XPath 到密码输入字段(例如//input[@id='password']

  • 密码按钮 XPath- XPath 到密码按钮(例如//button[@type='password']

XPath 配置示例

使用以下 XPath 示例来配置表单和 SAML 身份验证:

Username field examples: //input[@id='username'] //input[@name='user'] //input[@class='username-field'] Password field examples: //input[@id='password'] //input[@name='pass'] //input[@type='password'] Submit button examples: //button[@type='submit'] //input[@type='submit'] //button[contains(text(), 'Login')]

设置 Web Crawler 集成

准备好网站访问要求后,在 Amazon Quick Suite 中创建 Web Crawler 集成。

  1. 在 Amazon Quick Suite 控制台中,选择集成。

  2. 从集成选项中选择 Web Crawler,然后单击 “添加” 按钮(加上 “+” 按钮)。

  3. 选择 “从 Web Crawler 访问数据”。Web Crawler 集成仅支持数据访问——动作执行不适用于网络抓取。

  4. 配置集成详细信息和身份验证方法,然后根据需要创建知识库。

    1. 为您的网络爬虫集成选择身份验证类型。

    2. 根据您选择的身份验证方法填写所需的详细信息。

    3. 选择创建并继续

    4. 填写知识库的名称和描述。

    5. 添加 URLs 您要抓取的内容。

    6. 选择创建

单击 “创建” 后,数据同步将自动开始。

配置爬行

您可以配置要抓取哪些网站和页面以及如何筛选内容。

配置 URLs 和内容来源

配置要抓取的网站和页面:

直接 URLs

指定要抓取 URLs 的个人:

https://example.com/docs https://example.com/blog https://example.com/support

限制: URLs 每个数据集最多 10 个

内容过滤器和抓取设置

抓取范围设置

要查看这些设置,必须先设置知识库,然后检查高级设置选项。

爬行深度
  • 范围:0-10(默认值:1)

  • 0 = 仅指定抓取 URLs

  • 1 = 包含深度为一层的链接页面

  • 值越高,链接会更深入地进入网站

每页的最大链接数
  • 默认值:1000

  • 最大值:1000

  • 控制每个页面上要关注的链接数量

等待时间
  • 默认:1

  • 网页到达 “页面就绪” 状态后,网络爬虫将等待每个页面的时间。这对于具有动态 javascript 加载特性的页面很有用,其中页面的内容块会在主模板加载后加载。如果您有视觉效果丰富的内容或预计加载时间会很长,请增加等待时间。

管理知识库

设置 Web Crawler 集成后,您可以根据抓取的网站内容创建和管理知识库。

编辑现有知识库

您可以修改现有的 Web Crawler 知识库:

  1. 在 Amazon Quick Suite 控制台中,选择知识库

  2. 从列表中选择您的 Web Crawler 知识库。

  3. 选择 “操作” 下的三点图标,然后选择 “编辑知识库”。

  4. 根据需要更新您的配置设置,然后选择 “保存”。

创建其他知识库

您可以通过同一 Web Crawler 集成创建多个知识库:

  1. 在 Amazon Quick Suite 控制台中,选择 “集成”,然后选择 “数据” 选项卡。

  2. 从列表中选择您现有的 Web Crawler 集成。

  3. 选择 “操作” 下的三点图标,然后选择 “创建知识库”。

  4. 配置您的知识库设置,然后选择创建

有关知识库配置选项的详细信息,请参阅常用配置设置

附件和文件搜寻

控制系统是否处理从网页链接的文件和附件:

  • 启用文件附件抓取-选择此选项可对网页上的文件和附件(例如 PDFs文档和媒体文件)进行爬网和索引。

抓取行为和同步配置

您的 Web Crawler 集成遵循以下抓取方法:

  • 增量同步模型:第一次同步执行完全抓取,后续同步仅捕获更改

  • 自动重试:针对失败请求的内置重试逻辑

  • 重复处理:自动检测和处理 URLs

  • 爬虫识别:在请求标头中使用用户代理字符串 “aws-quick-on-behalf-of-<UUID>” 来标识自己

Robots.txt 合规性

Web Crawler 尊重 robots.txt 协议并尊重用户代理和指令。 allow/disallow 这使您能够控制抓取工具访问您的网站的方式。

robots.txt 检查的工作原理
  • 主机级检查:Web Crawler 在主机级别读取 robots.txt 文件(例如,example.com/robots.txt)

  • 多主机支持:对于具有多个主机的域名,Web Crawler 会分别遵守每个主机的机器人规则

  • 后备行为:如果 Web Crawler 由于屏蔽、解析错误或超时而无法获取 robots.txt,则其行为就像 robots.txt 不存在一样并会抓取该站点

支持的 robots.txt 字段

Web Crawler 可以识别以下 robots.txt 字段(字段名称不区分大小写,值区分大小写):

user-agent

标识规则适用于哪个爬虫

allow

可以被抓取的 URL 路径

disallow

可能无法抓取的 URL 路径

sitemap

网站地图的完整网址

crawl-delay

在向您的网站发出请求之间等待的指定时间(以秒为单位)

元标签支持

Web Crawler 支持页面级机器人元标记,您可以使用这些标签来控制数据的使用方式。您可以通过在 HTML 页面或 HTTP 标头中添加元标记来指定页面级设置。

支持的元标记
noindex

不要将页面编入索引。如果您未指定此规则,则该页面可能会被编入索引并有资格出现在体验中

nofollow

请勿点击此页面上的链接。如果您未指定此规则,Web Crawler 可能会使用页面上的链接来发现这些链接的页面

您可以使用逗号组合多个值(例如,“noindex,nofollow”)。

注意

要检测元标记,Web Crawler 需要访问您的页面,因此请不要使用 robots.txt 屏蔽您的页面,这样可以防止页面被重新抓取。

故障排查

使用本节来解决 Web Crawler 集成的常见问题。

身份验证失败次数

症状:

  • “无法验证” 错误消息

  • 401/403 HTTP 响应

  • 登录页面重定向循环

  • 会话超时错误

解决步骤:

  1. 确认从 Amazon Quick Suite 实例设置的 AWS 区域可以访问该站点

  2. 验证凭证的准确性并确保其未过期

  3. 检查身份验证端点的可用性和可访问性

  4. 通过在浏览器开发者工具中测试 XPath 配置来验证配置

  5. 查看浏览器网络日志以了解身份验证流程

  6. 确保登录页面 URL 正确且可访问

  7. 使用相同的凭据手动测试身份验证

访问和连接问题

症状:

  • 连接超时和网络错误

  • 网络无法访问错误

  • DNS 解析失败

解决步骤:

  1. 验证与目标网站的网络连接

  2. 验证网站可访问性:

    • 检查目标域名的 DNS 解析

    • 验证 SSL/TLS 配置和证书

    • 如果可能,请测试来自不同网络的访问权限

抓取和内容问题

症状:

  • 内容缺失或不完整

  • 抓取不完整或提前终止

  • 速率限制错误(429 个响应)

  • 内容索引不正确

解决步骤:

  1. 查看 robots.txt 限制:

    • 查看 robots.txt 文件以了解抓取限制

    • 验证是否允许爬虫访问目标路径

    • 确保 robots.txt 合规性不会屏蔽内容

  2. 检查速率限制和限制:

    • 监控响应标头以获取速率限制信息

    • 实施适当的抓取延迟

  3. 验证 URL 模式和过滤器:

    • 测试正则表达式模式的准确性

    • 检查 URL 格式和结构

    • 验证 include/exclude 模式逻辑

  4. 查看内容限制:

    • 检查页面上是否有 noindex 元标记

    • 验证内容类型支持

    • 确保内容大小在限制范围内

  5. 将等待时间更新为适当的值,以便在爬虫尝试抓取之前将内容加载到页面上

已知限制条件

Web Crawler 集成有以下限制:

  • 网址限制:最多 10 个 URLs,不支持站点地图

  • 爬行深度:最大爬行深度为 10 级

  • 安全要求:Web 代理服务器配置需要 HTTPS