標籤:web robots.txt
Robots協議(爬蟲協議)是國際互連網界通行的道德規範,一般是在一個web網站的根目錄下寫的robots.txt檔案,用來告知搜尋引擎哪些頁面能被抓取,哪些頁面不能被抓取,可以屏蔽一些網站中比較大的檔案,如:圖片,音樂,視頻等,節省伺服器頻寬;可以屏蔽網站的一些死連結。方便搜尋引擎抓取網站內容;設定網站地圖串連,方便引導蜘蛛爬取頁面。
通常的寫法格式如下:
User-agent: * #這裡的*萬用字元代表搜尋引擎種類,*就是匹配所有的蜘蛛Allow: /Disallow:#以上2個都表示允許蜘蛛抓取所有檔案Allow: /test#表示允許抓取test整個目錄Disallow: /#網站根目錄,表示禁止蜘蛛抓取網站Disallow: /A/#表是禁止爬取A目錄下的所有目錄Allow: /A/#表示允許爬取A目錄下的所有目錄Disallow: /A/a.html#表示禁止訪問A目錄下的a.html頁面Allow: /A/a.html#表示僅允許訪問A目錄下的a.html頁面Disallow: /A/*.html#表示禁止訪問A目錄下的所有".html"結尾的url,包括子目錄Disallow: /A/.html$#表示禁止訪問A目錄下所有".html"為尾碼的urlAllow: /A/.html$#表示僅允許訪問A目錄下所有".html"為尾碼的urlDisallow: /A/.jpg$#表示禁止爬取A目錄下的所有jpg圖片Allow: /A/.jpg$#表示僅允許爬取A目錄下的所有jpg圖片Disallow: /*?*#禁止訪問網站中所有包含問號 (?) 的urlSitemap: domain.html#告訴爬蟲這個頁面是網站地圖,Google為xml格式,百度為html格式,留空表示無
基本就是這樣的寫法爬蟲機器人就會遵守Robots協議,當然還有幾個特殊的選項
Robot-version: Version 1.0#用來指定使用的robot協議的版本號碼1.0Crawl-delay: 5#檢索間隔5秒,留空表示無Visit-time: 0100-1000#允許1點到10點爬取,留空表示無Request-rate: 40/1m 0100 - 0759#允許在1:00到07:59之間訪問,但是只能以每分鐘40次的頻率進行訪問,留空表示無
除此之外還有幾個注意事項,如果目錄是敏感檔案夾,如網站根目錄下有admin檔案夾(一般是網站的後台)那麼一定要禁止爬蟲,但是不能 Disallow: /admin/ 這樣寫,這樣不僅沒有用,還泄露資訊,引起爬蟲更猛烈的爬取,最好的辦法就是改掉預設的檔案夾名字,但是如果不能改目錄結構的話,要Disallow: /ad 這樣使用局部的名稱寫;還有如果根目錄下有passwords.txt、admin.php這樣的敏感檔案也不能直接使用Disallow: passwords.txt Disallow: admin.php這樣寫,原理同前者,最好的辦法是把這些敏感檔案放在隔離的目錄下,當然如果不能改變目錄的結構的話,需要Disallow: .txt$ Disallow: .php$寫
本文出自 “技術隨筆” 部落格,謝絕轉載!
web網站下robots.txt檔案的書寫與注意事項