爬虫大全: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.comsite2.example.com),必须为每个子域名单独配置。
  • 缓存机制:亚马逊会缓存robots.txt文件长达30天。这意味着你对规则的更改最长可能需要一个月才能生效。在重要变更(如解除屏蔽)后,可通过联系 amazonbot@amazon.com 请求重新抓取。
  • 指令支持:亚马逊爬虫不支持 crawl-delay 指令。如需控制抓取速率,需要通过服务器端的速率限制或联系其团队进行协调。

SEO优化

  • 精准控制索引与训练:亚马逊爬虫尊重页面级元标签,这为你提供了比 robots.txt(全站允许或禁止)更精细的控制维度:
    • 允许搜索索引,但禁止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。请在邮件中附上相关的域名和具体细节,以便团队快速处理。