爬虫大全:Amazonbot 亚马逊用于产品服务改进和AI训练的官方网络爬虫
编辑文章Amazonbot是亚马逊用于改进其产品与服务、为AI模型提供训练数据的官方网络爬虫。它的独特之处在于其双重使命:既服务于提升亚马逊站内搜索、Alexa等产品用户体验的即时数据抓取,也为亚马逊的生成式AI模型进行网络内容的广泛索引。其抓取的内容可能最终体现在Alexa的回答、Rufus购物助手等亚马逊生态的多个用户触点中。
用户代理
Amazonbot在请求中最核心的标识是其用户代理字符串。该字符串明确表明了其身份和目的。
标准 User-Agent 字符串:
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot) Chrome/119.0.6045.214 Safari/537.36
核心部分含义:
– Amazonbot/0.1:明确标识此为亚马逊官方爬虫。
– +https://developer.amazon.com/support/amazonbot:内嵌官方说明页链接,是验证其真实性的关键依据。
– 字符串其余部分模仿现代浏览器,以确保能正确获取依赖JavaScript渲染的内容。
IP范围
亚马逊官方未在其开发者页面直接公布Amazonbot的静态IP地址范围,这与一些搜索引擎的做法不同。
– 验证方法:
反向验证是确认流量真伪的唯一可靠方法。你需要对发起请求的IP地址执行反向DNS查询,确认其ptr记录归属亚马逊,随后再对该主机名进行正向DNS查询,确认其解析回原IP。
– 操作命令示例:
– Linux/macOS:
“`bash
# 1. 根据访问IP查询主机名
host
# 输出应包含 .amazonaws.com 或类似亚马逊域名
# 2. 再对该主机名执行正向查询,确认IP一致
host
“`
– **Windows (PowerShell)**:
“`powershell
# 解析IP地址的主机名
[System.Net.Dns]::GetHostEntry(“IP_ADDRESS”).HostName
# 输出主机名应可明确关联至亚马逊。
“`
– **验证成功标准**:
反向DNS查询返回的主机名(如 `a1b2c3d4e5f6.ant.amazon.com`)**必须明确属于亚马逊的域名体系**(如 `.amazon.com`, `.amazonaws.com`),并且正向DNS查询能将该主机名解析回原始的请求IP。
交互策略
不屏蔽
在以下场景,通常建议允许Amazonbot抓取:
– 公开内容希望被亚马逊生态索引:例如,你希望商品评测、技术文档等内容出现在Alexa的知识回答或亚马逊的搜索产品中。
– 为AI训练提供数据:你理解并同意网站内容可能被用于训练亚马逊的AI模型,以期在未来获得相关的流量或品牌曝光。
可屏蔽
在以下场景,可考虑在 robots.txt 中屏蔽Amazonbot:
– 网站内容高度敏感或具有版权限制,不愿被用于AI模型训练。
– 服务器资源极度有限,需要优先保障其他搜索引擎或用户流量。
– 仅希望屏蔽其AI训练用途,但仍允许搜索索引用途。此时可考虑使用页面级元标签进行更精细的控制。
- 屏蔽代码示例:
在网站的robots.txt文件中添加以下规则:User-Agent: Amazonbot Disallow: /
最佳实践
robots.txt
- 主机级配置:亚马逊爬虫仅识别并遵守主机级的
robots.txt文件(例如example.com/robots.txt)。若你有多个子域名(如site1.example.com和site2.example.com),必须为每个子域名单独配置。 - 缓存机制:亚马逊会缓存
robots.txt文件长达30天。这意味着你对规则的更改最长可能需要一个月才能生效。在重要变更(如解除屏蔽)后,可通过联系amazonbot@amazon.com请求重新抓取。 - 指令支持:亚马逊爬虫不支持
crawl-delay指令。如需控制抓取速率,需要通过服务器端的速率限制或联系其团队进行协调。
SEO优化
- 精准控制索引与训练:亚马逊爬虫尊重页面级元标签,这为你提供了比
robots.txt(全站允许或禁止)更精细的控制维度:- 允许搜索索引,但禁止AI训练:在页面HTML的
部分添加。这是区分内容用途的关键标签。 - 禁止页面被索引:使用
或。
- 允许搜索索引,但禁止AI训练:在页面HTML的
- 主动提交资源:虽然亚马逊未提供类似Google Search Console的站长平台,但你可以通过邮件联系其团队,提交重要的网站地图或通知关键内容更新,以优化抓取覆盖范围。
问题排查
- 抓取频率异常:
- 检查点:首先确认服务器日志中是否混入了伪装成Amazonbot的恶意爬虫。务必使用前述的IP反向验证法进行甄别。
- 重要提示:由于Amazonbot不遵守
crawl-delay指令,若遇到抓取负载过高问题,仅靠robots.txt无效。解决方案是在服务器层面(如通过Nginx的limit_req模块或防火墙规则)对已验证的亚马逊IP实施速率限制,并同时通过邮件向亚马逊团队反馈。
- 规则未生效:
- 首要怀疑
robots.txt缓存:在确认文件语法正确且位于正确主机根目录后,若规则超过24小时未生效,很可能是触发了长达30天的缓存期。你需要通过联系亚马逊来刷新缓存。 - 区分爬虫类型:亚马逊拥有多个专用爬虫(如用于搜索的
Amzn-SearchBot、用于用户代理请求的Amzn-User)。请核对用户代理字符串,确保你的规则针对的是正确的爬虫名称。针对Amazonbot的规则不会自动适用于Amzn-SearchBot。
- 首要怀疑
关键联系渠道:对于生产环境中的抓取问题、规则刷新请求或滥用报告,最有效的途径是发送邮件至 amazonbot@amazon.com。请在邮件中附上相关的域名和具体细节,以便团队快速处理。