Robots協議(爬蟲協議)是國際互聯網界通行的道德規(guī)范,一般是在一個web站點的根目錄下寫的robots.txt文件,用來告知搜索引擎哪些頁面能被抓取,哪些頁面不能被抓取,可以屏蔽一些網站中比較大的文件,如:圖片,音樂,視頻等,節(jié)省服務器帶寬;可以屏蔽站點的一些死鏈接。方便搜索引擎抓取網站內容;設置網站地圖連接,方便引導蜘蛛爬取頁面,Robots是站點與spider溝通的重要渠道,站點通過robots文件聲明本網站中不想被搜索引擎收錄的部分或者指定搜索引擎只收錄特定的部分。
robots.txt文件的格式
robots文件往往放置于根目錄下,包含一條或更多的記錄,在該文件中可以使用#進行注解,具體使用方法和UNIX中的慣例一樣。該文件中的記錄通常以一行或多行User-agent開始,后面加上若干Disallow和Allow行,詳細情況如下:
User-agent:該項的值用于描述搜索引擎robot的名字。在"robots.txt"文件中,如果有多條User-agent記錄說明有多個robot會受到"robots.txt"的限制,對該文件來說,至少要有一條User-agent記錄。如果該項的值設為*,則對任何robot均有效,在"robots.txt"文件中,"User-agent:*"這樣的記錄只能有一條。如果在"robots.txt"文件中,加入"User-agent:SomeBot"和若干Disallow、Allow行,那么名為"SomeBot"只受到"User-agent:SomeBot"后面的 Disallow和Allow行的限制。
Disallow:該項的值用于描述不希望被訪問的一組URL,這個值可以是一條完整的路徑,也可以是路徑的非空前綴,以Disallow項的值開頭的URL不會被 robot訪問。例如"Disallow:/help"禁止robot訪問/help.html、/helpabc.html、/help/index.html,而"Disallow:/help/"則允許robot訪問/help.html、/helpabc.html,不能訪問/help/index.html。"Disallow:"說明允許robot訪問該網站的所有url,在"/robots.txt"文件中,至少要有一條Disallow記錄。如果"/robots.txt"不存在或者為空文件,則對于所有的搜索引擎robot,該網站都是開放的。
Allow:該項的值用于描述希望被訪問的一組URL,與Disallow項相似,這個值可以是一條完整的路徑,也可以是路徑的前綴,以Allow項的值開頭的URL 是允許robot訪問的。例如"Allow:/hibaidu"允許robot訪問/hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一個網站的所有URL默認是Allow的,所以Allow通常與Disallow搭配使用,實現允許訪問一部分網頁同時禁止訪問其它所有URL的功能。
使用"*"and"$":Baiduspider支持使用通配符"*"和"$"來模糊匹配url。
"*" 匹配0或多個任意字符
"$" 匹配行結束符。
robots.txt文件書寫舉例:
1. 允許所有的robot訪問
User-agent: * Allow: / 或者 User-agent: * Disallow:
2. 禁止所有搜索引擎訪問網站的任何部分
User-agent: *
Disallow: /
3. 僅禁止Baiduspider訪問您的網站
User-agent: Baiduspider
Disallow: /
4. 僅允許Baiduspider訪問您的網站
User-agent: Baiduspider
Disallow:
5. 禁止spider訪問特定目錄
User-agent: *
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/
6. 允許訪問特定目錄中的部分url
User-agent: *
Allow: /cgi-bin/see
Allow: /tmp/hi
Allow: /~joe/look
Disallow: /cgi-bin/
Disallow: /tmp/
Disallow: /~joe/
7. 使用”*”限制訪問url,禁止訪問/cgi-bin/目錄下的所有以”.htm”為后綴的URL(包含子目錄)。
User-agent: *
Disallow: /cgi-bin/*.htm
8. 使用”$”限制訪問url,僅允許訪問以”.htm”為后綴的URL。
User-agent: *
Allow: .htm$
Disallow: /
9. 禁止訪問網站中所有的動態(tài)頁面
User-agent: *
Disallow: /*?*
10. 禁止Baiduspider抓取網站上所有圖片,僅允許抓取網頁,禁止抓取任何圖片。
User-agent: Baiduspider
Disallow: .jpg$
Disallow: .jpeg$
Disallow: .gif$
Disallow: .png$
Disallow: .bmp$
11. 僅允許Baiduspider抓取網頁和.gif格式圖片,允許抓取網頁和gif格式圖片,不允許抓取其他格式圖片
User-agent: Baiduspider
Allow: .gif$
Disallow: .jpg$
Disallow: .jpeg$
Disallow: .png$
Disallow: .bmp$
12. 僅禁止Baiduspider抓取.jpg格式圖片
User-agent: Baiduspider
總結:最后需要說明的是:百度會嚴格遵守robots的相關協議,請注意區(qū)分您不想被抓取或收錄的目錄的大小寫,百度會對robots中所寫的文件和您不想被抓取和收錄的目錄做精確匹配,否則robots協議無法生效。
轉載請注明來自:http://etongjin.cn/news/sitenews/80729.html
標簽:網站優(yōu)化 Robots 海之睿