robots.txt文件
搜索引擎使用sphider程序自動訪問互聯網上的網頁並獲取網頁信息。sphider在訪問一個網站時,會首先檢查該網站的根目錄下是否有一個叫做robots.txt的純文本文件,這個文件用於指定sphider在您的網站上的抓取范圍。您可以在您的網站上創建一個robots.txt,在文件中聲明該網站中不想被搜索引擎收錄的部分或者指定搜索引擎只收錄特定的部分
robots.txt文件格式
“robots.txt”文件包含一條或更多的記錄,這些記錄通過空行分開(以CR,CR/NL,or NL作為結束符),每一條記錄的格式如下所示:
“<field>:<optional space><value><optional space>”
在該文件中可以使用#進行注解,具體使用方法和UNIX中的慣例一樣。該文件中的記錄通常以一行或多行User-agent開始,后面加上若干Disallow和Allow行。
User-agent
該項的值用於描述搜索引擎robot的名字。在“robots.txt”文件中,如果有多條User-agent記錄說明有多個robot會受到“robots.txt”的限制,對該文件來說,至少要有一條User-agent記錄。如果該值的值為*,則對任何robot均有效
Disallow
該項的值用於描述不希望被訪問的一組URL,這個值可以是一條完整的路徑,也可以是路徑的非空前綴,以Disallow項的值開頭的URL不會被robot訪問
Allow
該項的值用於描述希望被訪問的一組URL,與Disallow項相似,這個值可以是一條完整的路徑,也可以是路徑的前綴,以Allow項的值開頭的URL是允許被robot訪問的
通配符
sphider支持使用“*”和“$”來模糊匹配URL
shell腳本禁止搜索引擎抓取
禁止搜索引擎抓取網站的網址可以在每個網站的根目錄下放置如下的robots.txt文件:
User-agent: * Disallow: /
一鍵部署的shell腳本:
#!/bin/bash #網站根目錄定義 root_dir=("/var/www/") #構建爬蟲規則 for dir in ${root_dir[*]} do #刪除過期的robots.txt文件 if [ -f $dir/robots.txt ]; then rm -r $dir/robots.txt fi #增加新的爬蟲規則 echo "User-agent: *" >$dir/robots.txt echo "Disallow: /" >>$dir/robots.txt #修改權限 chown www-data.www-data $dir/robots.txt done