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