robots.txt 是一个文本文件,它用来指示网络爬虫(也称为蜘蛛、爬虫程序或机器人)如何爬取网站上的页面。这个文件基于一组简单的规则,告诉爬虫哪些内容可以被爬取,哪些不可以。以下是 robots.txt 文件的基本语法规则:

  1. User-agent: 指定规则适用于哪个爬虫。可以使用 * 来代表所有爬虫。
User-agent: *
  1. Disallow: 用来禁止爬虫访问特定的URL或路径。路径是相对于网站根目录的。
Disallow: /private/
  1. Allow: 用来特别允许爬虫访问特定的URL或路径,即使父目录被禁止。
Allow: /public/
  1. Sitemap: 指定网站地图(sitemap)的URL,爬虫可以使用它来发现网站上的页面。
Sitemap: http://www.example.com/sitemap.xml
  1. Crawl-delay: 指定爬虫在请求下一个页面之前应该等待的时间(以秒为单位)。
Crawl-delay: 10
  1. Request-rate: 限制爬虫在指定时间内可以发送的请求数量。
Request-rate: 2/3
  1. Visit-time: 指定爬虫访问网站的时间段。
Visit-time: 0900-1700
  1. Comment: 以 # 开头的行被视为注释,不会被爬虫程序解析。
# This is a comment
  1. Host: 指定 robots.txt 文件适用的主机。
Host: www.example.com
  1. Clean-param: 用来指定URL中哪些参数应该被忽略,因为它们不会影响页面内容。

    Clean-param: id

一个基本的 robots.txt 示例可能如下所示:

# 全局规则
User-agent: *
Disallow: /private/
Allow: /public/

# 特定爬虫规则
User-agent: Googlebot
Crawl-delay: 5

# 网站地图
Sitemap: http://www.example.com/sitemap.xml

请注意,虽然 robots.txt 提供了一种方式来控制爬虫的行为,但并不是所有的爬虫都会遵守这些规则。此外,robots.txt 只影响爬虫的行为,并不阻止搜索引擎索引页面。