搜索引擎与爬虫

爬虫常说的君子协议是什么

爬虫常说的君子协议是什么

我们常常说 robots.txt 协议防君子不防小人。robots.txt 协议防什么样的君子,又防不了什么样的小人呢?就听我给你一一道来。

爬虫常说的君子协议是什么

首先我们需要了解爬虫常说的君子协议是什么,也就是什么是 robots.txt 协议,下面是关于 robots.txt 协议的描述:

robots.txt 文件规定了搜索引擎抓取工具可以访问您网站上的哪些网址。 此文件主要用于避免您的网站收到过多请求;它并不是一种阻止 Google 抓取某个网页的机制

  • 并非所有搜索引擎都支持 robots.txt 指令。

robots.txt 文件中的命令并不能强制规范抓取工具对网站采取的行为;是否遵循这些命令由抓取工具自行决定。

上面的定义是来自于 Google 搜索中心的官方文档

通过上面的定义可以看出来 robots.txt 只是定义了爬虫可以抓取那些页面,不可以抓取那些页面,这个协议大部分正规的搜索引擎都会遵守。

例如:在rogerbot 爬虫介绍这篇文章中,有一个 robots.txt 这样写的:

User-agent: rogerbot

Disallow: /

这里是禁止 rogerbot 抓取这个网站的所有页面,但是如果他不遵守,也仍然可以肆无忌惮的抓取你的网站,你也奈何不了 rogerbot 爬虫。

但是大部分爬虫框架都会遵守 robots.txt 协议,有一些开发者为了抓取内容,可能不会检查 robots.txt 文件,无意之中可能没有遵守 robots.txt 协议。

所以 robots.txt 就是一个君子协议:只约束君子不约束小人。

总结

通过上面的分析,我们可以回答刚才提出的那个问题了:爬虫常说的君子协议是什么,也就是 robots.txt 协议。