robots.txt是爬虫协议也成为机器人协议,当搜索引擎蜘蛛前来抓取一个网站时,首先会爬取robots.txt 。如果robots.txt有效的话,蜘蛛就会按照文件中的许可范围来爬取内容。如果不存在robots.txt的话,蜘蛛就会按照站内链接爬取。robots.txt命名需要全部为小写,并放在网站的根目录下。
应该如何设置robots.txt?
我们首先需要创建个纯文本文档,将其命名为robots.txt,在文件中写出不想被抓取的内容,将其上传至网站根目录。
robots.txt常常是含有多个记录,其格式为:<field>: <optionalspace><value><optionalspace>,可以使用“#”注释,使用方法和UNIX中的管理是一样的。robots.txt中书写的记录通常是以一行或者多行User-agent开头,后面再加Disallow行。
User-agent是什么?
User-agent是用来描述搜索引擎蜘蛛的名称,如果想对多个搜索引擎的蜘蛛限制抓取范围的话,就需要添加多行User-agent,robots.txt里面至少得包含一条User-agent记录。如果把User-agent的值设置为“*”的话,则表示所有搜索引擎蜘蛛都受此robots.txt限制,值为“*”的User-agent只能在一个robots.txt中存在一条。
Disallow是什么?
Disallow用来书写不愿意被抓取的一个URL,这个URL可以是一个完整的路径,也可以是其中一部分。robots.txt中,任何以Disallow开头的URL都不会别抓取,比如说有条记录为:Disallow:/abc,那么abc.html和abc/index.html都会被限制抓取。但是Disallow:/abc/,会允许搜索引擎蜘蛛抓取abc.html而不能访问abc/index.html。
如果有任何一条Disallow记录为空,那么就说明该网站的所有部分都可以被搜索引擎蜘蛛抓取。在robots.txt之中必须要有一条Disallow记录。如果robots.txt只是一个空文件的话,搜索引擎蜘蛛则会认为此站点是完全开放的。