robots是網站跟爬蟲間的協議,用簡單直接的txt格式文本方式告訴對應的爬蟲被允許的權限,也就是說robots.txt是搜索引擎中訪問網站的時候要查看的第一個文件。
當一個搜索蜘蛛訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜索機器人就會按照該文件中的內容來確定訪問的范圍;如果該文件
不存在,所有的搜索蜘蛛將能夠訪問網站上所有沒有被口令保護的頁面。
搜索引擎通過一種程序robot(又稱spider),自動訪問互聯網上的網頁並獲取網頁信息。
您可以在您的網站中創建一個純文本文件robots.txt,在這個文件中聲明該網站中不想被robot訪問的部分,這樣,該網站的部分或全部內容就可以不被搜索引擎收錄了,或者指定搜索引擎只收錄指定的內容。
robots.txt(統一小寫)是一種存放於網站根目錄下的ASCII編碼的文本文件,它通常告訴網絡搜索引擎的漫游器(又稱網絡蜘蛛),此網站中的哪些內容是不能被搜索引擎的漫游器獲取的,哪些是可以被(漫游器)獲取的。
因為一些系統中的URL是大小寫敏感的,所以robots.txt的文件名應統一為小寫。robots.txt應放置於網站的根目錄下。如果想單獨定義搜索引擎的漫游器訪問子目錄時的行為,那么可以將自定的設置合並到根目錄下的robots.txt,
或者使用robots元數據。
Robots.txt協議並不是一個規范,而只是約定俗成的,所以並不能保證網站的隱私。注意Robots.txt是用字符串比較來確定是否獲取URL,所以目錄末尾有和沒有斜杠“/”這兩種表示是不同的URL,也不能用"Disallow: *.gif"這樣
的通配符。這個協議也不是一個規范,而只是約定俗成的,通常搜索引擎會識別這個元數據,不索引這個頁面,以及這個頁面的鏈出頁面
robots.txt文件應該放在網站根目錄下。舉例來說,當robots訪問一個網站時,首先會檢查該網站中是否存在這個文件,如果機器人找到這個文件,它就會根據這個文件的內容,來確定它訪問權限的范圍。
"robots.txt"文件包含一條或更多的記錄,這些記錄通過空行分開(以CR,CR/NL, or NL作為結束符),每一條記錄的格式如下所示:
"<field>:<optionalspace><value><optionalspace>"。
在該文件中可以使用#進行注解,具體使用方法和UNIX中的慣例一樣。該文件中的記錄通常以一行或多行User-agent開始,后面加上若干Disallow行,詳細情況如下:
User-agent:
該項的值用於描述搜索引擎robot的名字,在"robots.txt"文件中,如果有多條User-agent記錄說明有多個robot會受到該協議的限制,對該文件來說,至少要有一條User-agent記錄。如果該項的值設為*,則該協議對任何機器人均有效,在"robots.txt"文件中,"User-agent:*"這樣的記錄只能有一條。
Disallow:
該項的值用於描述不希望被訪問到的一個URL,這個URL可以是一條完整的路徑,也可以是部分的,任何以Disallow開頭的URL均不會被robot訪問到。例如"Disallow:/help"對/help.html 和/help/index.html都不允許搜索引擎訪問,而"Disallow:/help/"則允許robot訪問/help.html,而不能訪問/help/index.html。任何一條Disallow記錄為空,說明該網站的所有部分都允許被訪問,在"/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的功能。
需要特別注意的是Disallow與Allow行的順序是有意義的,robot會根據第一個匹配成功的Allow或Disallow行確定是否訪問某個URL。
使用"*"和"$":
robots支持使用通配符"*"和"$"來模糊匹配url:
"$" 匹配行結束符。
"*" 匹配0或多個任意字符。
robots.txt語法教程
用幾個最常見的情況,直接舉例說明:
1. 允許所有SE收錄本站:
robots.txt為空就可以,什么都不要寫。
2. 禁止所有SE收錄網站的某些目錄:
User-agent: *
Disallow: /目錄名1/
Disallow: /目錄名2/
Disallow: /目錄名3/
3. 禁止某個SE收錄本站,例如禁止百度:
User-agent: Baiduspider
Disallow: /
4. 禁止所有SE收錄本站:
User-agent: *
Disallow: /
