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的一些常见写法。
posted @ 2026-09-12 09:23  abner_pan  阅读(5)  评论(0)    收藏  举报