谈到robots.txt文件,首先我们必须了解什么是robots协议,Robots协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。

   当一个搜索机器人(可以理解)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取。

robots.txt文件的写法:

   User-agent: * 这里的*代表的所有的搜索引擎种类,*是一个通配符
   Disallow: /admin/ 这里定义是禁止爬寻admin目录下面的目录
   Disallow: /require/ 这里定义是禁止爬寻require目录下面的目录
   Disallow: /ABC/ 这里定义是禁止爬寻ABC目录下面的目录
   Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含子目录)。
   Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址
   Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片
   Disallow:/ab/adc.html 禁止爬取ab文件夹下面的adc.html文件。
   Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录
   Allow: /tmp 这里定义是允许爬寻tmp的整个目录
   Allow: .htm$ 仅允许访问以".htm"为后缀的URL。
   Allow: .gif$ 允许抓取网页和gif格式图片
   Sitemap: 网站地图 告诉爬虫这个页面是网站地图

其它属性
   1. Robot-version: 用来指定robot协议的版本号
       例子: Robot-version: Version 2.0
   2.Crawl-delay:雅虎YST一个特定的扩展名,可以通过它对我们的抓取程序设定一个较低的抓取请求频率。您可以加入Crawl-delay:xx指示,其中,“XX”是指在crawler程序两次进入站点时,以秒为单位的最低延时。
   3. Visit-time:只有在visit-time指定的时间段里,robot才可以访问指定的URL,否则不可访问.
       例子: Visit-time: 0100-1300 #允许在凌晨1:00到13:00访问
   4. Request-rate: 用来限制URL的读取频率
       例子: Request-rate: 40/1m 0100 - 0759 在1:00到07:59之间,以每分钟40次的频率进行访问
       Request-rate: 12/1m 0800 - 1300 在8:00到13:00之间,以每分钟12次的频率进行访问