robots是站點與spider溝通的重要渠道,站點通過robots文件聲明該網(wǎng)站中不想被搜索引擎收錄的部分或者指定搜索引擎只收錄特定的部分。請注意,僅當您的網(wǎng)站包含不希望被搜索引擎收錄的內(nèi)容時,才需要使用robots.txt文件。如果您希望搜索引擎收錄網(wǎng)站上所有內(nèi)容,請勿建立robots.txt文件。
robots文件往往放置于根目錄下,包含一條或更多的記錄,這些記錄通過空行分開(以CR、CR/NL、or NL作為結(jié)束符),每一條記錄的格式如下所示:
"<field>:<optional space><value><optionalspace>"
在該文件中可以使用#進行注解,具體使用方法和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訪問該網(wǎng)站的所有url,在"/robots.txt"文件中,至少要有一條Disallow記錄。如果"/robots.txt"不存在或者為空文件,則對于所有的搜索引擎robot,該網(wǎng)站都是開放的。
Allow:該項的值用于描述希望被訪問的一組URL,與Disallow項相似,這個值可以是一條完整的路徑,也可以是路徑的前綴,以Allow項的值開頭的URL 是允許robot訪問的。例如"Allow:/hibaidu"允許robot訪問/hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一個網(wǎng)站的所有URL默認是Allow的,所以Allow通常與Disallow搭配使用,實現(xiàn)允許訪問一部分網(wǎng)頁同時禁止訪問其它所有URL的功能。
使用"*"and"$":Baiduspider支持使用通配符"*"和"$"來模糊匹配url。
"*" 匹配0或多個任意字符
"$" 匹配行結(jié)束符。
最后需要說明的是:百度會嚴格遵守robots的相關(guān)協(xié)議,請注意區(qū)分您不想被抓取或收錄的目錄的大小寫,百度會對robots中所寫的文件和您不想被抓取和收錄的目錄做精確匹配,否則robots協(xié)議無法生效。