我們常常說 robots.txt 協(xié)議防君子不防小人。robots.txt 協(xié)議防什么樣的君子件炉,又防不了什么樣的小人呢峻凫?就聽我給你一一道來。
爬蟲常說的君子協(xié)議是什么
首先我們需要了解爬蟲常說的君子協(xié)議是什么勘畔,也就是什么是 robots.txt 協(xié)議所灸,下面是關(guān)于 robots.txt 協(xié)議的描述:
robots.txt 文件規(guī)定了搜索引擎抓取工具可以訪問您網(wǎng)站上的哪些網(wǎng)址。 此文件主要用于避免您的網(wǎng)站收到過多請(qǐng)求炫七;它并不是一種阻止 Google 抓取某個(gè)網(wǎng)頁的機(jī)制爬立。
- 并非所有搜索引擎都支持 robots.txt 指令。
robots.txt 文件中的命令并不能強(qiáng)制規(guī)范抓取工具對(duì)網(wǎng)站采取的行為万哪;是否遵循這些命令由抓取工具自行決定侠驯。
上面的定義是來自于 Google 搜索中心的官方文檔抡秆。
通過上面的定義可以看出來 robots.txt 只是定義了爬蟲可以抓取那些頁面,不可以抓取那些頁面吟策,這個(gè)協(xié)議大部分正規(guī)的搜索引擎都會(huì)遵守儒士。
例如:在rogerbot 爬蟲介紹這篇文章中,有一個(gè) robots.txt 這樣寫的:
User-agent: rogerbot
Disallow: /
這里是禁止 rogerbot 抓取這個(gè)網(wǎng)站的所有頁面檩坚,但是如果他不遵守着撩,也仍然可以肆無忌憚的抓取你的網(wǎng)站,你也奈何不了 rogerbot 爬蟲匾委。
但是大部分爬蟲框架都會(huì)遵守 robots.txt 協(xié)議睹酌,有一些開發(fā)者為了抓取內(nèi)容,可能不會(huì)檢查 robots.txt 文件剩檀,無意之中可能沒有遵守 robots.txt 協(xié)議憋沿。
所以 robots.txt 就是一個(gè)君子協(xié)議:只約束君子不約束小人。
總結(jié)
通過上面的分析沪猴,我們可以回答剛才提出的那個(gè)問題了:爬蟲常說的君子協(xié)議是什么辐啄,也就是 robots.txt 協(xié)議。