該文章轉自:http://blog.sina.com.cn/s/blog_49dc4aa50100kaa5.html
一、robots.txt有什么用?
如果您不希望互聯網爬蟲(又叫蜘蛛、Crawler、Spider等)抓取您網站的每一個公開的鏈接,而只抓取您指定的某一部分鏈接,或根本不抓取任何鏈接,你可以使用robots.txt向搜索引擎匯報爬蟲信息。
robots.txt(統一小寫)是一種存放於網站根目錄下的ASCII編碼的文本文件。 比如 http://www.sitemap-xml.org/robots.txt |
|||||||
大多數主流搜索引擎支持robots協議,它通常告訴搜索引擎,此網站中的哪些內容是不能抓取的,哪些是可以被抓取的。 |
二、怎么使用robots.txt?
建議您在站點的根目錄下存放一個robots.txt文件。我們的爬蟲在第一次抓取您站點時會首先確認根目錄下是否有robots.txt文件。例如,您的網站地址是www.7softs.com,我們會首先抓取http://www.softs.com/robots.txt再進行后續操作。如無法訪問robots.txt文件,系統則默認為您站點的每個鏈接都可以被抓取。這就是七彩軟件站(http://softs.7softs.com)不設置robots.txt文件的原因。
三、怎么寫robots.txt文件?
robots.txt是個很簡單的文本文件,您只要標明“誰不能訪問哪些鏈接”即可。
在文件的第一行寫:
User-Agent: Baiduspider
這就告訴了爬蟲下面的描述是針對名叫Baiduspider的爬蟲。您還可以寫:
User-Agent: *
這就意味着向所有的爬蟲開放。需要注意的是一個robots.txt文件里只能有一個"User-Agent: *"。
接下來是不希望被訪問的鏈接前綴。例如:
Disallow: /private
這就告訴爬蟲不要抓取以"/private"開頭的所有鏈接。包括/private.html,/private/some.html,/private/some/haha.html。如果您寫成:
Disallow: /
則表明整個站點都不希望被訪問。您也可以分多行來指定不希望被抓取的鏈接前綴,例如:
Disallow: /tmp
Disallow: /disallow
那么所有以"/tmp"和"/disallow"開頭的鏈接都不會被訪問了。
最后形成的robots.txt文件如下:
User-Agent: Baiduspider
Disallow: /tmp
Disallow: /private
請注意,如果您的robots.txt文件里有中文等非英語字符,請確定該文件是由UTF-8編碼編寫。
四、怎樣分別指定不同的網絡爬蟲?
這個操作很簡單,只要分別指定“誰能或不能訪問怎樣的鏈接”即可。例如:
User-Agent: YodaoBo
Disallow:
User-Agent: *
Disallow: /private
上面的robots.txt表明,名為Baiduspider的爬蟲可以抓所有的內容,其它名稱的爬蟲不能抓以"/private"開頭的鏈接。