"robots.txt"文件包含一條或更多的記錄,這些記錄通過(guò)空行分開(kāi)(以CR,CR/NL, or NL作為結(jié)束符),每一條記錄的格式如下所示:
"<field>:<optionalspace><value><optionalspace>"。
在該文件中可以使用#進(jìn)行注解,具體使用方法和UNIX中的慣例一樣。該文件中的記錄通常以一行或多行User-agent開(kāi)始,后面加上若干Disallow和Allow行,詳細(xì)情況如下:
User-agent:
該項(xiàng)的值用于描述搜索引擎robot的名字。在"robots.txt"文件中,如果有多條User-agent記錄說(shuō)明有多個(gè)robot會(huì)受到"robots.txt"的限制,對(duì)該文件來(lái)說(shuō),至少要有一條User-agent記錄。如果該項(xiàng)的值設(shè)為*,則對(duì)任何robot均有效,在"robots.txt"文件中,"User-agent:*"這樣的記錄只能有一條。如果在"robots.txt"文件中,加入"User-agent:SomeBot"和若干Disallow、Allow行,那么名為"SomeBot"只受到"User-agent:SomeBot"后面的Disallow和Allow行的限制。
Disallow:
該項(xiàng)的值用于描述不希望被訪問(wèn)的一組URL,這個(gè)值可以是一條完整的路徑,也可以是路徑的非空前綴,以Disallow項(xiàng)的值開(kāi)頭的URL不會(huì)被robot訪問(wèn)。例如"Disallow:/help"禁止robot訪問(wèn)/help.html、/helpabc.html、/help/index.html,而"Disallow:/help/"則允許robot訪問(wèn)/help.html、/helpabc.html,不能訪問(wèn)/help/index.html。"Disallow:"說(shuō)明允許robot訪問(wèn)該網(wǎng)站的所有url,在"/robots.txt"文件中,至少要有一條Disallow記錄。如果"/robots.txt"不存在或者為空文件,則對(duì)于所有的搜索引擎robot,該網(wǎng)站都是開(kāi)放的。
Allow:
該項(xiàng)的值用于描述希望被訪問(wèn)的一組URL,與Disallow項(xiàng)相似,這個(gè)值可以是一條完整的路徑,也可以是路徑的前綴,以Allow項(xiàng)的值開(kāi)頭的URL是允許robot訪問(wèn)的。例如"Allow:/hibaidu"允許robot訪問(wèn)/hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一個(gè)網(wǎng)站的所有URL默認(rèn)是Allow的,所以Allow通常與Disallow搭配使用,實(shí)現(xiàn)允許訪問(wèn)一部分網(wǎng)頁(yè)同時(shí)禁止訪問(wèn)其它所有URL的功能。
需要特別注意的是Disallow與Allow行的順序是有意義的,robot會(huì)根據(jù)第一個(gè)匹配成功的Allow或Disallow行確定是否訪問(wèn)某個(gè)URL。
使用"*"和"$":
Baiduspider支持使用通配符"*"和"$"來(lái)模糊匹配url。
"$" 匹配行結(jié)束符。
"*" 匹配0或多個(gè)任意字符。