简短描述
最佳实践是通过创建或修改您的 robots.txt 文件来防止您的网站被爬网程序爬取。robots.txt 是监管网络爬取活动的公认标准。
通过修改您的 robots.txt 文件,可以影响以下内容:
- 哪些爬网程序可以爬取您的网站。
- 爬网程序可以爬取哪些页面。
- 爬网程序爬取页面的速率。
如果在 AWS 资源上运行的爬网程序不遵守您的 robots.txt 文件,请提交滥用报告。
解决方法
1.创建或修改 robots.txt 文件
robots.txt 文件列出了针对爬网程序的所有限制。该文件附加到网站的根域后,可以停止或减慢爬网程序的速度。
请检查您的日志,了解您想要停止的爬网程序的 User-agent 名称。要阻止爬网程序爬取您的域中的任何页面,请添加 User-agent 名称到您的 robots.txt 文件中:
User-agent: crawler
Disallow: /
**注意:**将 crawler 替换为爬网程序的 User-agent 名称。
您可以在新文本块中为每个爬网程序定义不同的规则。例如,假设您想要完全阻止 crawler1 爬取您的页面。但您还希望允许 crawler2 以更低的速度爬取您的页面:
User-agent: crawler1
Disallow: /
User-agent: crawler2
Crawl-delay: 60
**注意:**将 crawler1 和 crawler2 替换为爬网程序的 User-agent 名称。
现在,crawler2 被允许爬取您的域,但只能以每 60 毫秒一次的速度。
要阻止所有的爬网程序爬取您的 Web 内容,请使用通配符:
User-agent: *
Disallow: /
**注意:**很多搜索引擎使用爬网程序对页面生成索引,以用于搜索结果中。阻止所有爬网程序爬取您的网站会让您的页面更难被用户找到。
您可以定义规则来指定爬网程序可以爬取的目录或页面。例如,假设您想阻止爬网程序爬取目录 1 和目录 2,但目录 2 中的页面 example.html 除外:
User-agent: crawler
Disallow: /directory1/
Disallow: /directory2/
Allow: /directory2/example.html
注意:将 crawler 替换为爬网程序的 User-agent 名称。
将目录 1 和目录 2 替换为您的目录的名称。
将 example.html 替换为您的页面的名称。
2.将您的 robots.txt 文件添加到域中
将 robots.txt 文件添加到您的根域。例如,如果您的域为 example.com,则将文件添加到以下路径:
www.example.com/robots.txt
3.联系 AWS 滥用监督团队
恶意的爬网程序可能会忽略您的 robots.txt 文件。如果您认为在 AWS 资源上运行的爬网程序不遵守您的 robots.txt 文件,请提交滥用报告与完整的日志。这些日志必须包含爬取活动的日期、时间戳(包括时区)和源 IP 地址。请注意,AWS 信任与安全团队必须审查您的 robots.txt 文件,以确认所涉及客户的不合规行为。
相关信息
如何报告 AWS 资源滥用情况?