天天看點

robots協定标準

    前兩天剛知道用爬蟲抓取page有個協定的問題,尤其是對于open

source的爬蟲,剛看到一篇blog,寫的就是如此,難怪之前看google的robots也和另外一個U.S.的網站相同,感情是大家都商量好了,

可能這方面中國的一些站點這種意識要稍微淡一點。。。同時這也害得畢設還得另謀思路。。。

搜尋引擎三巨頭打的不亦樂乎,但偶爾也合作一下。去年Google,雅虎,微軟就合作,共同遵守統一的Sitemaps标準。前兩天三巨頭又同時宣布,共

同遵守的

robots.txt檔案标準。Google,雅虎,微軟各自在自己的官方部落格上發了一篇文章,公布三家都支援的robots.txt檔案及Meta标簽

的标準,以及一些各自特有的标準。下面做一個總結。

三家都支援的robots檔案記錄包括:

Disallow - 告訴蜘蛛不要抓取某些檔案或目錄。如下面代碼将阻止蜘蛛抓取所有的網站檔案:

User-agent: *

Disallow: /

Allow - 告訴蜘蛛應該抓取某些檔案。Allow和Disallow配合使用,可以告訴蜘蛛某個目錄下,大部分都不抓取,隻抓取一部分。如下面代碼将使蜘蛛不抓取ab目錄下其他檔案,而隻抓取其中cd下的檔案:

Disallow: /ab/

Allow: /ab

$通配符 - 比對URL結尾的字元。如下面代碼将允許蜘蛛通路以.htm為字尾的URL:

Allow: .htm$

*通配符 - 告訴蜘蛛比對任意一段字元。如下面一段代碼将禁止蜘蛛抓取所有htm檔案:

Disallow: /*.htm

Sitemaps位置 - 告訴蜘蛛你的網站地圖在哪裡,格式為:Sitemap: <sitemap_XXXXXX>

三家都支援的Meta标簽包括:

NOINDEX - 告訴蜘蛛不要索引某個網頁。

NOFOLLOW - 告訴蜘蛛不要跟蹤網頁上的連結。

NOSNIPPET - 告訴蜘蛛不要在搜尋結果中顯示說明文字。

NOARCHIVE - 告訴蜘蛛不要顯示快照。

NOODP - 告訴蜘蛛不要使用開放目錄中的标題和說明。

上面這些記錄或标簽,現在三家都共同支援。其中通配符好像以前雅虎微軟并不支援。百度現在也支援Disallow,Allow及兩種通配符。Meta标簽我沒有找到百度是否支援的官方說明。

隻有Google支援的Meta标簽有:

UNAVAILABLE_AFTER - 告訴蜘蛛網頁什麼時候過期。在這個日期之後,不應該再出現在搜尋結果中。

NOIMAGEINDEX - 告訴蜘蛛不要索引頁面上的圖檔。

NOTRANSLATE - 告訴蜘蛛不要翻譯頁面内容。

雅虎還支援Meta标簽:

Crawl-Delay - 允許蜘蛛延時抓取的頻率。

NOYDIR - 和NOODP标簽相似,但是指雅虎目錄,而不是開放目錄。

Robots-nocontent - 告訴蜘蛛被标注的部分html不是網頁内容的一部分,或者換個角度,告訴蜘蛛哪些部分是頁面的主要内容(想被檢索的内容)。

MSN還支援Meta标簽:Crawl-Delay

另外提醒大家注意的是,robots.txt檔案可以不存在,傳回404錯誤,意味着允許蜘蛛抓取所有内容。但抓取robots.txt檔案時卻發生逾時

之類的錯誤,可能導緻搜尋引擎不收錄網站,因為蜘蛛不知道robots.txt檔案是否存在或者裡面有什麼内容,這與确認檔案不存在是不一樣的。

繼續閱讀