最近在看一個(gè)開源項(xiàng)目,在根目錄下發(fā)現(xiàn)了一個(gè) robots.txt 文件,內(nèi)容很簡(jiǎn)單。
User-agent: *
Disallow: /
就這么兩行,也好理解。
只是雖然敲了很多年的代碼,確實(shí)是第一次見到,所以就查了一下。
Robots協(xié)議用來告知搜索引擎哪些頁面能被抓取,哪些頁面不能被抓??;可以屏蔽一些網(wǎng)站中比較大的文件,如:圖片,音樂,視頻等,節(jié)省服務(wù)器帶寬;可以屏蔽站點(diǎn)的一些死鏈接。方便搜索引擎抓取網(wǎng)站內(nèi)容;設(shè)置網(wǎng)站地圖連接,方便引導(dǎo)蜘蛛爬取頁面。
很簡(jiǎn)單的一個(gè)功能,這么久之所以沒用過,可能是因?yàn)榇蠖鄶?shù)的網(wǎng)站比較依賴搜索引擎吧。
在此做一個(gè)記錄,以后碰到安全方面比較需要額外注意的項(xiàng)目,可以提醒自己加一個(gè) robots 文件。
- 文件寫法
User-agent: * //這里的*代表的所有的搜索引擎種類,*是一個(gè)通配符
Disallow: /admin/ //這里定義是禁止爬尋admin目錄下面的目錄
Disallow: /require/ //這里定義是禁止爬尋require目錄下面的目錄
Disallow: /ABC/ //這里定義是禁止爬尋ABC目錄下面的目錄
Disallow: /cgi-bin/*.htm //禁止訪問/cgi-bin/目錄下的所有以".htm"為后綴的URL(包含子目錄)。
Disallow: /*?* //禁止訪問網(wǎng)站中所有包含問號(hào) (?) 的網(wǎng)址
Disallow: /.jpg$ //禁止抓取網(wǎng)頁所有的.jpg格式的圖片
Disallow:/ab/adc.html //禁止爬取ab文件夾下面的adc.html文件。
Allow: /cgi-bin/ //這里定義是允許爬尋cgi-bin目錄下面的目錄
Allow: /tmp //這里定義是允許爬尋tmp的整個(gè)目錄
Allow: .htm$ //僅允許訪問以".htm"為后綴的URL。
Allow: .gif$ //允許抓取網(wǎng)頁和gif格式圖片
Sitemap: //網(wǎng)站地圖 告訴爬蟲這個(gè)頁面是網(wǎng)站地圖
- 文件用法
// 例1. 禁止所有搜索引擎訪問網(wǎng)站的任何部分
User-agent: *
Disallow: /
// 實(shí)例分析:淘寶網(wǎng)的 Robots.txt文件
User-agent: Baiduspider
Disallow: /
User-agent: baiduspider
Disallow: /
// 很顯然淘寶不允許百度的機(jī)器人訪問其網(wǎng)站下其所有的目錄。
// 例2. 允許所有的robot訪問 (或者也可以建一個(gè)空文件 “/robots.txt” file)
User-agent: *
Allow: /
// 例3. 禁止某個(gè)搜索引擎的訪問
User-agent: BadBot
Disallow: /
- 其它屬性
- Robot-version: 用來指定robot協(xié)議的版本號(hào)。
Robot-version: Version 2.0
2.Crawl-delay:雅虎YST一個(gè)特定的擴(kuò)展名,可以通過它對(duì)我們的抓取程序設(shè)定一個(gè)較低的抓取請(qǐng)求頻率。您可以加入Crawl-delay:xx指示,其中,“XX”是指在crawler程序兩次進(jìn)入站點(diǎn)時(shí),以秒為單位的最低延時(shí)。
Visit-time:只有在visit-time指定的時(shí)間段里,robot才可以訪問指定的URL,否則不可訪問.
Visit-time: 0100-1300 #允許在凌晨1:00到13:00訪問Request-rate: 用來限制URL的讀取頻率
Request-rate: 40/1m 0100 - 0759 在1:00到07:59之間,以每分鐘40次的頻率進(jìn)行訪問
Request-rate: 12/1m 0800 - 1300 在8:00到13:00之間,以每分鐘12次的頻率進(jìn)行訪問