国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)絡(luò)營銷 > robots協(xié)議文件的寫法及語法屬性解釋

robots協(xié)議文件的寫法及語法屬性解釋

時(shí)間:2022-05-29 00:57:01 | 來源:網(wǎng)絡(luò)營銷

時(shí)間:2022-05-29 00:57:01 來源:網(wǎng)絡(luò)營銷

當(dāng)一個(gè)搜索蜘蛛訪問一個(gè)站點(diǎn)時(shí),它會(huì)首先檢查該站點(diǎn)根目錄下是否存在robots.txt,如果存在,搜索機(jī)器人就會(huì)按照該文件中的內(nèi)容來確定訪問的范圍;如果該文件不存在,所有的搜索蜘蛛將能夠訪問網(wǎng)站上所有沒有被口令保護(hù)的頁面。

一、什么是Robots協(xié)議

Robots協(xié)議(也稱為爬蟲協(xié)議、機(jī)器人協(xié)議等)的全稱是“網(wǎng)絡(luò)爬蟲排除標(biāo)準(zhǔn)”(Robots Exclusion Protocol),網(wǎng)站通過Robots協(xié)議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取。

robots是一個(gè)協(xié)議,而不是一個(gè)命令。robots.txt文件是一個(gè)文本文件,是放置在網(wǎng)站根目錄下,使用任何一個(gè)常見的文本編輯器,就可以創(chuàng)建和編輯它。robots.txt是搜索引擎中訪問網(wǎng)站的時(shí)候要查看的第一個(gè)文件,其主要的作用就是告訴蜘蛛程序在服務(wù)器上什么文件是可以被查看的。

如果將網(wǎng)站視為一個(gè)房間,robots.txt就是主人在房間門口懸掛的“請(qǐng)勿打擾”或“歡迎進(jìn)入”的提示牌。這個(gè)文件告訴來訪的搜索引擎哪些房間可以進(jìn)入和參觀,哪些房間因?yàn)榇娣刨F重物品,或可能涉及住戶及訪客的隱私而不對(duì)搜索引擎開放。但robots.txt不是命令,也不是防火墻,如同守門人無法阻止竊賊等惡意闖入者。

所以,億企邦建議各位站長僅當(dāng)您的網(wǎng)站包含不希望被搜索引擎收錄的內(nèi)容時(shí),才需要使用robots.txt文件,如果您希望搜索引擎收錄網(wǎng)站上所有內(nèi)容,請(qǐng)勿建立robots.txt文件。

二、Robots協(xié)議的原則

Robots協(xié)議是國際互聯(lián)網(wǎng)界通行的道德規(guī)范,基于以下原則建立:

1、搜索技術(shù)應(yīng)服務(wù)于人類,同時(shí)尊重信息提供者的意愿,并維護(hù)其隱私權(quán);

2、網(wǎng)站有義務(wù)保護(hù)其使用者的個(gè)人信息和隱私不被侵犯。

三、Robots協(xié)議的寫法

robots.txt放到一個(gè)站點(diǎn)的根目錄下即可,一個(gè)robots.txt只能控制相同協(xié)議,相同端口,相同站點(diǎn)的網(wǎng)頁抓取策略。

1、robots.txt的常規(guī)寫法

最簡單的robots.txt只有兩條規(guī)則:

User-agent:指定對(duì)哪些爬蟲生效

Disallow:指定要屏蔽的網(wǎng)址

整個(gè)文件分為x節(jié),一節(jié)由y個(gè)User-agent行和z個(gè)Disallow行組成。一節(jié)就表示對(duì)User-agent行指定的y個(gè)爬蟲屏蔽z個(gè)網(wǎng)址。這里x>=0,y>0,z>0。x=0時(shí)即表示空文件,空文件等同于沒有robots.txt。

下面詳細(xì)介紹這兩條規(guī)則:

(1)、User-agent

爬蟲抓取時(shí)會(huì)聲明自己的身份,這就是User-agent,沒錯(cuò),就是http協(xié)議里的User-agent,robots.txt利用User-agent來區(qū)分各個(gè)引擎的爬蟲。

舉例說明:google網(wǎng)頁搜索爬蟲的User-agent為Googlebot,下面這行就指定google的爬蟲。

User-agent:Googlebot

如果想指定所有的爬蟲怎么辦?不可能窮舉啊,可以用下面這一行:

User-agent: *

可能有的同學(xué)要問了,我怎么知道爬蟲的User-agent是什么?這里提供了一個(gè)簡單的列表:爬蟲列表

當(dāng)然,你還可以查相關(guān)搜索引擎的資料得到官方的數(shù)據(jù),比如說google爬蟲列表,百度爬蟲列表

(2)、Disallow

Disallow行列出的是要攔截的網(wǎng)頁,以正斜線 (/) 開頭,可以列出特定的網(wǎng)址或模式。

要屏蔽整個(gè)網(wǎng)站,使用正斜線即可,如下所示:

Disallow: /

要屏蔽某一目錄以及其中的所有內(nèi)容,在目錄名后添加正斜線,如下所示:

Disallow: /無用目錄名/

要屏蔽某個(gè)具體的網(wǎng)頁,就指出這個(gè)網(wǎng)頁,如下所示:

Disallow: /網(wǎng)頁.html

舉例:

User-agent: baiduspider
  Disallow: /
  User-agent: Googlebot
  Disallow: /

億企邦解釋:意思也就是禁止百度蜘蛛和Google蜘蛛抓取所有文章

2、robots.txt的高級(jí)寫法

首先聲明:高級(jí)玩法不是所有引擎的爬蟲都支持,一般來說,作為搜索引擎技術(shù)領(lǐng)導(dǎo)者的谷歌支持的最好。

(1)、allow

如果需要屏蔽seo1-seo100,但是不屏蔽seo50,那我們?cè)撛趺崔k呢?

方案1:

Disallow:/seo1/
  Disallow:/seo2/
  ...
  Disallow:/seo49/
  Disallow:/seo51/
  ...
  Disallow:/seo100/

方案2:

Disallow:/seo
  Allow:/seo50/

對(duì)比以上2個(gè)方案,大家應(yīng)該知道allow的用法了吧,如果你網(wǎng)站目前也有這個(gè)需求的話,億企邦建議你可以使用方案2來解決。

但如果想屏蔽seo50下面的文件seo.htm,又該怎么辦呢?

Disallow:/seo
  Allow:/seo50/
  Disallow:/seo50/seo.html

聰明的你一定能發(fā)現(xiàn)其中的規(guī)律,對(duì)吧?誰管的越細(xì)就聽誰的。

(2)、sitemap

前面說過爬蟲會(huì)通過網(wǎng)頁內(nèi)部的鏈接發(fā)現(xiàn)新的網(wǎng)頁,但是如果沒有連接指向的網(wǎng)頁怎么辦?或者用戶輸入條件生成的動(dòng)態(tài)網(wǎng)頁怎么辦?能否讓網(wǎng)站管理員通知搜索引擎他們網(wǎng)站上有哪些可供抓取的網(wǎng)頁?這就是sitemap。

最簡單的Sitepmap形式就是XML文件,在其中列出網(wǎng)站中的網(wǎng)址以及關(guān)于每個(gè)網(wǎng)址的其他數(shù)據(jù)(上次更新的時(shí)間、更改的頻率以及相對(duì)于網(wǎng)站上其他網(wǎng)址的重要程度等等),利用這些信息搜索引擎可以更加智能地抓取網(wǎng)站內(nèi)容。

新的問題來了,爬蟲怎么知道這個(gè)網(wǎng)站有沒有提供sitemap文件,或者說網(wǎng)站管理員生成了sitemap(可能是多個(gè)文件),爬蟲怎么知道放在哪里呢?

由于robots.txt的位置是固定的,于是大家就想到了把sitemap的位置信息放在robots.txt里,這就成為robots.txt里的新成員了,比如:

Sitemap: http://www.mahaixiang.cn/sitemap.html

考慮到一個(gè)網(wǎng)站的網(wǎng)頁眾多,sitemap人工維護(hù)不太靠譜,對(duì)此,億企邦建議你可以使用google提供了工具可以自動(dòng)生成sitemap。

(3)、meta tag

其實(shí)嚴(yán)格來說這部分內(nèi)容不屬于robots.txt,不過也算非常相關(guān),我也不知道放哪里合適,暫且放到這里吧。

robots.txt的初衷是為了讓網(wǎng)站管理員管理可以出現(xiàn)在搜索引擎里的網(wǎng)站內(nèi)容。但是,即使使用robots.txt文件讓爬蟲無法抓取這些內(nèi)容,搜索引擎也可以通過其他方式找到這些網(wǎng)頁并將它添加到索引中。

例如,其他網(wǎng)站仍可能鏈接到該網(wǎng)站,因此,網(wǎng)頁網(wǎng)址及其他公開的信息(如指向相關(guān)網(wǎng)站的鏈接中的定位文字或開放式目錄管理系統(tǒng)中的標(biāo)題)有可能會(huì)出現(xiàn)在引擎的搜索結(jié)果中,如果想徹底對(duì)搜索引擎隱身那咋整呢?億企邦給你的答案是:元標(biāo)記,即meta tag。

比如要完全阻止一個(gè)網(wǎng)頁的內(nèi)容列在搜索引擎索引中(即使有其他網(wǎng)站鏈接到此網(wǎng)頁),可使用noindex元標(biāo)記。只要搜索引擎查看該網(wǎng)頁,便會(huì)看到noindex元標(biāo)記并阻止該網(wǎng)頁顯示在索引中,這里注意noindex元標(biāo)記提供的是一種逐頁控制對(duì)網(wǎng)站的訪問的方式。

比如:要防止所有搜索引擎將網(wǎng)站中的網(wǎng)頁編入索引,那你就可以在網(wǎng)頁的頭部代碼部分添加:

<meta name="robots" content="noindex">

這里的name取值可以設(shè)置為某個(gè)搜索引擎的User-agent從而指定屏蔽某一個(gè)搜索引擎。

除了noindex外,還有其他元標(biāo)記,比如說nofollow,禁止爬蟲從此頁面中跟蹤鏈接。這里億企邦再提一句:noindex和nofollow在HTML 4.01規(guī)范里有描述,但是其他tag的在不同引擎支持到什么程度各不相同,還請(qǐng)讀者自行查閱各個(gè)引擎的說明文檔。

(4)、Crawl-delay

除了控制哪些可以抓哪些不能抓之外,robots.txt還可以用來控制爬蟲抓取的速率。如何做到的呢?通過設(shè)置爬蟲在兩次抓取之間等待的秒數(shù)。

Crawl-delay:5

表示本次抓取后下一次抓取前需要等待5秒。

億企邦提醒大家一點(diǎn):google已經(jīng)不支持這種方式了,不過在webmaster tools里提供了一個(gè)功能可以更直觀的控制抓取速率。

這里插一句題外話,幾年前億企邦記得曾經(jīng)有一段時(shí)間robots.txt還支持復(fù)雜的參數(shù):Visit-time,只有在visit-time指定的時(shí)間段里,爬蟲才可以訪問;Request-rate: 用來限制URL的讀取頻率,用于控制不同的時(shí)間段采用不同的抓取速率。

后來估計(jì)支持的人太少,就漸漸的廢掉了,有興趣的博友可以自行研究一下,億企邦了解到的是目前google和baidu都已經(jīng)不支持這個(gè)規(guī)則了,其他小的引擎公司貌似從來都沒有支持過。

四、Robots協(xié)議中的語法屬性解釋

Robots協(xié)議用來告知搜索引擎哪些頁面能被抓取,哪些頁面不能被抓?。豢梢云帘我恍┚W(wǎng)站中比較大的文件,如圖片,音樂,視頻等,節(jié)省服務(wù)器帶寬;也可以屏蔽站點(diǎn)的一些死鏈接,方便搜索引擎抓取網(wǎng)站內(nèi)容;再或者是設(shè)置網(wǎng)站地圖連接,方便引導(dǎo)蜘蛛爬取頁面。

User-agent: * 這里的*代表的所有的搜索引擎種類,*是一個(gè)通配符。

Disallow: /admin/ 這里定義是禁止爬尋admin目錄下面的目錄。

Disallow: /mahaixiang/*.htm 禁止訪問/mahaixiang/目錄下的所有以".htm"為后綴的URL(包含子目錄)。

Disallow: /*?* 禁止訪問網(wǎng)站中所有包含問號(hào) (?) 的網(wǎng)址。

Disallow: /.jpg$ 禁止抓取網(wǎng)頁所有的.jpg格式的圖片。

Disallow:/mahaixiang/abc.html 禁止爬取ab文件夾下面的adc.html文件。

Allow: /mahaixiang/ 這里定義是允許爬尋mahaixiang目錄下面的目錄。

Allow: /mahaixiang 這里定義是允許爬尋mahaixiang的整個(gè)目錄。

Allow: .htm$ 僅允許訪問以".htm"為后綴的URL。

Allow: .gif$ 允許抓取網(wǎng)頁和gif格式圖片。

Sitemap: /sitemap.html 告訴爬蟲這個(gè)頁面是網(wǎng)站地圖。

舉例:

User-agent: *
  Disallow: /?*
  Disallow: /seo/*.htm
  User-agent: EtaoSpider
  Disallow: /

億企邦解釋:意思就是有禁止所有搜索引擎來抓網(wǎng)站中所有包含問號(hào) (?) 的網(wǎng)址和seo目錄下的.htm文章。同時(shí),對(duì)etao完全屏蔽。

五、Robots協(xié)議中的其它語法屬性

1、Robot-version: 用來指定robot協(xié)議的版本號(hào)

例子: Robot-version: Version 2.0

2、Crawl-delay:雅虎YST一個(gè)特定的擴(kuò)展名,可以通過它對(duì)我們的抓取程序設(shè)定一個(gè)較低的抓取請(qǐng)求頻率。

您可以加入Crawl-delay:xx指示,其中,“XX”是指在crawler程序兩次進(jìn)入站點(diǎn)時(shí),以秒為單位的最低延時(shí)。

3、Crawl-delay:定義抓取延遲

例子: Crawl-delay:/mahaixiang/

4、Visit-time: 只有在visit-time指定的時(shí)間段里,robot才可以訪問指定的URL,否則不可訪問。

例子: Visit-time: 0100-1300 #允許在凌晨1:00到13:00訪問

5、Request-rate: 用來限制URL的讀取頻率

例子: Request-rate: 40/1m 0100 - 0759 在1:00到07:59之間,以每分鐘40次的頻率進(jìn)行訪問。

Request-rate: 12/1m 0800 - 1300 在8:00到13:00之間,以每分鐘12次的頻率進(jìn)行訪問。

億企邦點(diǎn)評(píng):

Robots協(xié)議是網(wǎng)站出于安全和隱私考慮,防止搜索引擎抓取敏感信息而設(shè)置的,搜索引擎的原理是通過一種爬蟲spider程序,自動(dòng)搜集互聯(lián)網(wǎng)上的網(wǎng)頁并獲取相關(guān)信息。

而鑒于網(wǎng)絡(luò)安全與隱私的考慮,每個(gè)網(wǎng)站都會(huì)設(shè)置自己的Robots協(xié)議,來明示搜索引擎,哪些內(nèi)容是愿意和允許被搜索引擎收錄的,哪些則不允許,搜索引擎則會(huì)按照Robots協(xié)議給予的權(quán)限進(jìn)行抓取。

Robots協(xié)議代表了一種契約精神,互聯(lián)網(wǎng)企業(yè)只有遵守這一規(guī)則,才能保證網(wǎng)站及用戶的隱私數(shù)據(jù)不被侵犯,違背Robots協(xié)議將帶來巨大安全隱憂。

關(guān)鍵詞:屬性,解釋,語法

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉