【robots.txt】

最近在看一个开源项目,在根目录下发现了一个 robots.txt 文件,内容很简单。

User-agent: *
Disallow: /

就这么两行,也好理解。

只是虽然敲了很多年的代码,确实是第一次见到,所以就查了一下。

Robots协议用来告知搜索引擎哪些页面能被抓取,哪些页面不能被抓取;可以屏蔽一些网站中比较大的文件,如:图片,音乐,视频等,节省服务器带宽;可以屏蔽站点的一些死链接。方便搜索引擎抓取网站内容;设置网站地图连接,方便引导蜘蛛爬取页面。

很简单的一个功能,这么久之所以没用过,可能是因为大多数的网站比较依赖搜索引擎吧。

在此做一个记录,以后碰到安全方面比较需要额外注意的项目,可以提醒自己加一个 robots 文件。

  • 文件写法
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. 禁止所有搜索引擎访问网站的任何部分

User-agent: *

Disallow: /

// 实例分析:淘宝网的 Robots.txt文件

User-agent: Baiduspider

Disallow: /

User-agent: baiduspider

Disallow: /

// 很显然淘宝不允许百度的机器人访问其网站下其所有的目录。

// 例2. 允许所有的robot访问 (或者也可以建一个空文件 “/robots.txt” file)

User-agent: *

Allow: /

// 例3. 禁止某个搜索引擎的访问
User-agent: BadBot
Disallow: /
  • 其它属性
  1. Robot-version: 用来指定robot协议的版本号。
    Robot-version: Version 2.0

2.Crawl-delay:雅虎YST一个特定的扩展名,可以通过它对我们的抓取程序设定一个较低的抓取请求频率。您可以加入Crawl-delay:xx指示,其中,“XX”是指在crawler程序两次进入站点时,以秒为单位的最低延时。

  1. Visit-time:只有在visit-time指定的时间段里,robot才可以访问指定的URL,否则不可访问.
    Visit-time: 0100-1300 #允许在凌晨1:00到13:00访问

  2. 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次的频率进行访问

你可能感兴趣的:(【robots.txt】)