5.分析Robots协议-01.Robots协议
Robots协议
- Robots协议也称作爬虫协议、机器人协议,全名为网络爬虫排除标准(Robots Exclusion Protocol),用来告诉爬虫和搜索引擎哪些网页可以爬取,哪些不可以。
- 它通常是一个叫做robots.txt的文本文件,一般放在网站的根目录下。
- 搜索爬虫在访问一个站点时,首先会检查这个站点跟目录下是否存在robots.txt文件,如果存在,就会根据其中定义的爬取范围来爬取。如果没由找到这个文件,搜索爬虫便会访问所有可直接访问的页面。
- 下面我们看一个robot.txt的样例:
User-agent:*
Disallow:/
Allow:/public/
- 这限定了所有搜索爬虫只能爬取public目录。将上述内容保存成robots.txt文件,放在网站的根目录下,和网站的入口文件(例如index.php、index.html和index.jsp等)放在一起。
- 上面样例中的User-agent描述了搜索爬虫的名称,这里将其设置为*,代表Robots协议对所有爬取爬虫都有效。例如,我们可以这样设置:
User-agent:Baiduspider - 这代表设置的规则对百度爬虫是有效的。如果由多条User-agent记录,则意味着由多个爬虫会受到爬取限制,但至少需要指定一条。
- Disallow指定了不允许爬虫爬取的目录,上例设置为/,代表不允许爬取所有页面。
- Allow一般不会单独使用,会和Disallow一起用,用来排除某些限制。上例中我们设置为/public/,结合Disallow的设置,表示所偶页面都不允许爬取,但可以爬取public目录。
- 下面再来看几个例子。禁止所哟爬虫访问所有目录的代码如下:
User-agent:*
Disallow:/
- 允许所有爬虫访问所有目录的代码如下:
User-agent:*
Disallow:
- 另外,直接把robot.txt文件留空也是可以的。
- 静止所有爬虫访问网站某些目录的代码如下:
User-agent:*
Disallow:/private/
Disallow:/tmp/
- 只允许某一个爬虫访问所有目录的代码如下:
User-agent:WebCrawler
Disallow:
User-agent:*
Disallow:/
- 以上是robots.txt的一些常见写法。
心揣信念,梦想就在脚下!

浙公网安备 33010602011771号