本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
网络爬虫集成
借助 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 集成。
-
在 Amazon Quick Suite 控制台中,选择集成。
-
从集成选项中选择 Web Crawler,然后单击 “添加” 按钮(加上 “+” 按钮)。
-
选择 “从 Web Crawler 访问数据”。Web Crawler 集成仅支持数据访问——动作执行不适用于网络抓取。
-
配置集成详细信息和身份验证方法,然后根据需要创建知识库。
-
为您的网络爬虫集成选择身份验证类型。
-
根据您选择的身份验证方法填写所需的详细信息。
-
选择创建并继续。
-
填写知识库的名称和描述。
-
添加 URLs 您要抓取的内容。
-
选择创建。
-
单击 “创建” 后,数据同步将自动开始。
配置爬行
您可以配置要抓取哪些网站和页面以及如何筛选内容。
配置 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 知识库:
-
在 Amazon Quick Suite 控制台中,选择知识库。
-
从列表中选择您的 Web Crawler 知识库。
-
选择 “操作” 下的三点图标,然后选择 “编辑知识库”。
-
根据需要更新您的配置设置,然后选择 “保存”。
创建其他知识库
您可以通过同一 Web Crawler 集成创建多个知识库:
-
在 Amazon Quick Suite 控制台中,选择 “集成”,然后选择 “数据” 选项卡。
-
从列表中选择您现有的 Web Crawler 集成。
-
选择 “操作” 下的三点图标,然后选择 “创建知识库”。
-
配置您的知识库设置,然后选择创建。
有关知识库配置选项的详细信息,请参阅常用配置设置。
附件和文件搜寻
控制系统是否处理从网页链接的文件和附件:
-
启用文件附件抓取-选择此选项可对网页上的文件和附件(例如 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 响应
登录页面重定向循环
会话超时错误
解决步骤:
确认从 Amazon Quick Suite 实例设置的 AWS 区域可以访问该站点
验证凭证的准确性并确保其未过期
检查身份验证端点的可用性和可访问性
通过在浏览器开发者工具中测试 XPath 配置来验证配置
查看浏览器网络日志以了解身份验证流程
确保登录页面 URL 正确且可访问
使用相同的凭据手动测试身份验证
访问和连接问题
症状:
连接超时和网络错误
网络无法访问错误
DNS 解析失败
解决步骤:
-
验证与目标网站的网络连接
-
验证网站可访问性:
检查目标域名的 DNS 解析
验证 SSL/TLS 配置和证书
如果可能,请测试来自不同网络的访问权限
抓取和内容问题
症状:
内容缺失或不完整
抓取不完整或提前终止
速率限制错误(429 个响应)
内容索引不正确
解决步骤:
-
查看 robots.txt 限制:
查看 robots.txt 文件以了解抓取限制
验证是否允许爬虫访问目标路径
确保 robots.txt 合规性不会屏蔽内容
-
检查速率限制和限制:
监控响应标头以获取速率限制信息
实施适当的抓取延迟
-
验证 URL 模式和过滤器:
测试正则表达式模式的准确性
检查 URL 格式和结构
验证 include/exclude 模式逻辑
-
查看内容限制:
检查页面上是否有 noindex 元标记
验证内容类型支持
确保内容大小在限制范围内
-
将等待时间更新为适当的值,以便在爬虫尝试抓取之前将内容加载到页面上
已知限制条件
Web Crawler 集成有以下限制:
网址限制:最多 10 个 URLs,不支持站点地图
爬行深度:最大爬行深度为 10 级
安全要求:Web 代理服务器配置需要 HTTPS