新建的網(wǎng)站,這個robots是什么意思?
網(wǎng)友解答: Robots協(xié)議(也稱為爬蟲協(xié)議、機器人協(xié)議等)的全稱是“網(wǎng)絡(luò)爬蟲排除標準”(Robots Exclusion Protocol),網(wǎng)站通過Robots協(xié)議告訴搜索引擎哪些頁
Robots協(xié)議(也稱為爬蟲協(xié)議、機器人協(xié)議等)的全稱是“網(wǎng)絡(luò)爬蟲排除標準”(Robots Exclusion Protocol),網(wǎng)站通過Robots協(xié)議告訴搜索引擎哪些頁面可以抓取,哪些頁面不能抓取。
簡介robots.txt文件是一個文本文件,使用任何一個常見的文本編輯器,比如Windows系統(tǒng)自帶的Notepad,就可以創(chuàng)建和編輯它[1] 。robots.txt是一個協(xié)議,而不是一個命令。robots.txt是搜索引擎中訪問網(wǎng)站的時候要查看的第一個文件。robots.txt文件告訴蜘蛛程序在服務(wù)器上什么文件是可以被查看的。當一個搜索蜘蛛訪問一個站點時,它會首先檢查該站點根目錄下是否存在robots.txt,如果存在,搜索機器人就會按照該文件中的內(nèi)容來確定訪問的范圍;如果該文件不存在,所有的搜索蜘蛛將能夠訪問網(wǎng)站上所有沒有被口令保護的頁面。百度官方建議,僅當您的網(wǎng)站包含不希望被搜索引擎收錄的內(nèi)容時,才需要使用robots.txt文件。如果您希望搜索引擎收錄網(wǎng)站上所有內(nèi)容,請勿建立robots.txt文件。如果將網(wǎng)站視為酒店里的一個房間,robots.txt就是主人在房間門口懸掛的“請勿打擾”或“歡迎打掃”的提示牌。這個文件告訴來訪的搜索引擎哪些房間可以進入和參觀,哪些房間因為存放貴重物品,或可能涉及住戶及訪客的隱私而不對搜索引擎開放。但robots.txt不是命令,也不是防火墻,如同守門人無法阻止竊賊等惡意闖入者。原則
Robots協(xié)議是國際互聯(lián)網(wǎng)界通行的道德規(guī)范,基于以下原則建立:1、搜索技術(shù)應(yīng)服務(wù)于人類,同時尊重信息提供者的意愿,并維護其隱私權(quán);2、網(wǎng)站有義務(wù)保護其使用者的個人信息和隱私不被侵犯。robots協(xié)議原理功能Robots協(xié)議用來告知搜索引擎哪些頁面能被抓取,哪些頁面不能被抓??;可以屏蔽一些網(wǎng)站中比較大的文件,如:圖片,音樂,視頻等,節(jié)省服務(wù)器帶寬;可以屏蔽站點的一些死鏈接。方便搜索引擎抓取網(wǎng)站內(nèi)容;設(shè)置網(wǎng)站地圖連接,方便引導蜘蛛爬取頁面。文件寫法User-agent: * 這里的*代表的所有的搜索引擎種類,*是一個通配符Disallow: /admin/ 這里定義是禁止爬尋admin目錄下面的目錄Disallow: /require/ 這里定義是禁止爬尋require目錄下面的目錄Disallow: /ABC/ 這里定義是禁止爬尋ABC目錄下面的目錄Disallow: /cgi-bin/*.htm 禁止訪問/cgi-bin/目錄下的所有以".htm"為后綴的URL(包含子目錄)。Disallow: /*?* 禁止訪問網(wǎng)站中所有包含問號 (?) 的網(wǎng)址Disallow: /.jpg$ 禁止抓取網(wǎng)頁所有的.jpg格式的圖片Disallow:/ab/adc.html 禁止爬取ab文件夾下面的adc.html文件。Allow: /cgi-bin/ 這里定義是允許爬尋cgi-bin目錄下面的目錄Allow: /tmp 這里定義是允許爬尋tmp的整個目錄Allow: .htm$ 僅允許訪問以".htm"為后綴的URL。Allow: .gif$ 允許抓取網(wǎng)頁和gif格式圖片Sitemap: 網(wǎng)站地圖 告訴爬蟲這個頁面是網(wǎng)站地圖文件用法例1. 禁止所有搜索引擎訪問網(wǎng)站的任何部分User-agent: *Disallow: /實例分析:淘寶網(wǎng)的 Robots.txt文件User-agent: BaiduspiderDisallow: /User-agent: baiduspiderDisallow: /很顯然淘寶不允許百度的機器人訪問其網(wǎng)站下其所有的目錄。例2. 允許所有的robot訪問 (或者也可以建一個空文件 “/robots.txt” file)User-agent: *Allow: /例3. 禁止某個搜索引擎的訪問User-agent: BadBotDisallow: /例4. 允許某個搜索引擎的訪問User-agent: Baiduspiderallow:/例5.一個簡單例子在這個例子中,該網(wǎng)站有三個目錄對搜索引擎的訪問做了限制,即搜索引擎不會訪問這三個目錄。需要注意的是對每一個目錄必須分開聲明,而不要寫成 “Disallow: /cgi-bin/ /tmp/”。User-agent:后的*具有特殊的含義,代表“any robot”,所以在該文件中不能有“Disallow: /tmp/*” or “Disallow:*.gif”這樣的記錄出現(xiàn)。User-agent: *Disallow: /cgi-bin/Disallow: /tmp/Disallow: /~joe/Robot特殊參數(shù):允許 Googlebot:如果您要攔截除Googlebot以外的所有漫游器不能訪問您的網(wǎng)頁,可以使用下列語法:User-agent:Disallow: /User-agent: GooglebotDisallow:Googlebot 跟隨指向它自己的行,而不是指向所有漫游器的行?!癆llow”擴展名:Googlebot 可識別稱為“Allow”的 robots.txt 標準擴展名。其他搜索引擎的漫游器可能無法識別此擴展名,因此請使用您感興趣的其他搜索引擎進行查找。“Allow”行的作用原理完全與“Disallow”行一樣。只需列出您要允許的目錄或頁面即可。您也可以同時使用“Disallow”和“Allow”。例如,要攔截子目錄中某個頁面之外的其他所有頁面,可以使用下列條目:User-agent: GooglebotAllow: /folder1/myfile.htmlDisallow: /folder1/這些條目將攔截 folder1 目錄內(nèi)除 myfile.html 之外的所有頁面。如果您要攔截 Googlebot 并允許 Google 的另一個漫游器(如 Googlebot-Mobile),可使用”Allow”規(guī)則允許該漫游器的訪問。例如:User-agent: GooglebotDisallow: /User-agent: Googlebot-MobileAllow:使用 * 號匹配字符序列:您可使用星號 (*) 來匹配字符序列。例如,要攔截對所有以 private 開頭的子目錄的訪問,可使用下列條目: User-Agent: GooglebotDisallow: /private*/要攔截對所有包含問號 (?) 的網(wǎng)址的訪問,可使用下列條目:User-agent: *Disallow: /*?*使用 $ 匹配網(wǎng)址的結(jié)束字符您可使用 $字符指定與網(wǎng)址的結(jié)束字符進行匹配。例如,要攔截以 .asp 結(jié)尾的網(wǎng)址,可使用下列條目: User-agent: GooglebotDisallow: /*.asp$您可將此模式匹配與 Allow 指令配合使用。例如,如果 ? 表示一個會話 ID,您可排除所有包含該 ID 的網(wǎng)址,確保 Googlebot 不會抓取重復的網(wǎng)頁。但是,以 ? 結(jié)尾的網(wǎng)址可能是您要包含的網(wǎng)頁版本。在此情況下,可對 robots.txt 文件進行如下設(shè)置:User-agent: *Allow: /*?$Disallow: /*?Disallow: / *?一行將攔截包含 ? 的網(wǎng)址(具體而言,它將攔截所有以您的域名開頭、后接任意字符串,然后是問號 (?),而后又是任意字符串的網(wǎng)址)。Allow: /*?$ 一行將允許包含任何以 ? 結(jié)尾的網(wǎng)址(具體而言,它將允許包含所有以您的域名開頭、后接任意字符串,然后是問號 (?),問號之后沒有任何字符的網(wǎng)址)。盡管robots.txt已經(jīng)存在很多年了,但是各大搜索引擎對它的解讀都有細微差別。Google與百度都分別在自己的站長工具中提供了robots工具。如果您編寫了robots.txt文件,建議您在這兩個工具中都進行測試,因為這兩者的解析實現(xiàn)確實有細微差別[1] 。其它屬性1. Robot-version: 用來指定robot協(xié)議的版本號例子: Robot-version: Version 2.02.Crawl-delay:雅虎YST一個特定的擴展名,可以通過它對我們的抓取程序設(shè)定一個較低的抓取請求頻率。您可以加入Crawl-delay:xx指示,其中,“XX”是指在crawler程序兩次進入站點時,以秒為單位的最低延時。3. Visit-time:只有在visit-time指定的時間段里,robot才可以訪問指定的URL,否則不可訪問.例子: Visit-time: 0100-1300 #允許在凌晨1:00到13:00訪問4. Request-rate: 用來限制URL的讀取頻率例子: Request-rate: 40/1m 0100 - 0759 在1:00到07:59之間,以每分鐘40次的頻率進行訪問Request-rate: 12/1m 0800 - 1300 在8:00到13:00之間,以每分鐘12次的頻率進行訪問標簽Robots.txt文件主要是限制整個站點或者目錄的搜索引擎訪問情況,而Robots Meta標簽則主要是針對一個個具體的頁面。和其他的META標簽(如使用的語言、頁面的描述、關(guān)鍵詞等)一樣,Robots Meta標簽也是放在頁面中,專門用來告訴搜索引擎ROBOTS如何抓取該頁的內(nèi)容。Robots Meta標簽中沒有大小寫之分,name=”Robots”表示所有的搜索引擎,可以針對某個具體搜索引擎寫為name=”BaiduSpider”。content部分有四個指令選項:index、noindex、follow、nofollow,指令間以“,”分隔。index指令告訴搜索機器人抓取該頁面;follow指令表示搜索機器人可以沿著該頁面上的鏈接繼續(xù)抓取下去;Robots Meta標簽的缺省值是index和follow,只有inktomi除外,對于它,缺省值是index、nofollow。注意事項上述的robots.txt和Robots Meta標簽限制搜索引擎機器人(ROBOTS)抓取站點內(nèi)容的辦法只是一種規(guī)則,需要搜索引擎機器人的配合才行,并不是每個ROBOTS都遵守的。目前看來,絕大多數(shù)的搜索引擎機器人都遵守robots.txt的規(guī)則,而對于Robots META標簽,支持的并不多,但是正在逐漸增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE還增加了一個指令“archive”,可以限制GOOGLE是否保留網(wǎng)頁快照。位置robots.txt文件應(yīng)該放置在網(wǎng)站根目錄下。舉例來說,當spider訪問一個網(wǎng)站時,首先會檢查該網(wǎng)站中是否存在robots.txt這個文件,如果 Spider找到這個文件,它就會根據(jù)這個文件的內(nèi)容,來確定它訪問權(quán)限的范圍。wordpress的robots位置沒有在wordpress網(wǎng)站根節(jié)目上傳過robots.txt,當搜尋引擎和用戶拜訪某個文件時,wordpress程序會主動生成一個robots.txt給搜尋引擎和用戶;若是我們上傳編寫的robots.txt到網(wǎng)站根節(jié)目,用戶和搜尋引擎蛛蛛拜訪的就是我們上傳的文件,wordpress就不會再產(chǎn)生那個文件了。只有服務(wù)器找不到robots的時候wordpress才會生成這個文件。產(chǎn)生robots.txt并不是某一個公司制定的,而是早在20世紀93、94年就早已出現(xiàn),當時還沒有Google。真實Robots協(xié)議的起源,是在互聯(lián)網(wǎng)從業(yè)人員的公開郵件組里面討論并且誕生的。即便是今天,互聯(lián)網(wǎng)領(lǐng)域的相關(guān)問題也仍然是在一些專門的郵件組中討論,并產(chǎn)生(主要是在美國)。1994年6月30日,在經(jīng)過搜索引擎人員以及被搜索引擎抓取的網(wǎng)站站長共同討論后,正式發(fā)布了一份行業(yè)規(guī)范,即robots.txt協(xié)議。在此之前,相關(guān)人員一直在起草這份文檔,并在世界互聯(lián)網(wǎng)技術(shù)郵件組發(fā)布后,這一協(xié)議被幾乎所有的搜索引擎采用,包括最早的altavista,infoseek,后來的google,bing,以及中國的百度,搜搜,搜狗等公司也相繼采用并嚴格遵循。Robot,又稱Spider,是搜索引擎自動獲取網(wǎng)頁信息的電腦程序的通稱。Robots協(xié)議的核心思想就是要求Robot程序不要去檢索那些站長們不希望被直接搜索到的內(nèi)容。將約束Robot程序的具體方法規(guī)范成格式代碼,就成了Robots協(xié)議。一般來說,網(wǎng)站是通過Robots.txt文件來實現(xiàn)Robots協(xié)議。自有搜索引擎之日起,Robots協(xié)議已是一種目前為止最有效的方式,用自律維持著網(wǎng)站與搜索引擎之間的平衡,讓兩者之間的利益不致過度傾斜。它就像一個鐘擺,讓互聯(lián)網(wǎng)上的搜索與被搜索和諧相處。維基百科上描述的robots協(xié)議的最原始起源影響Robots協(xié)議是網(wǎng)站出于安全和隱私考慮,防止搜索引擎抓取敏感信息而設(shè)置的。搜索引擎的原理是通過一種爬蟲spider程序,自動搜集互聯(lián)網(wǎng)上的網(wǎng)頁并獲取相關(guān)信息。而鑒于網(wǎng)絡(luò)安全與隱私的考慮,每個網(wǎng)站都會設(shè)置自己的Robots協(xié)議,來明示搜索引擎,哪些內(nèi)容是愿意和允許被搜索引擎收錄的,哪些則不允許。搜索引擎則會按照Robots協(xié)議給予的權(quán)限進行抓取。Robots協(xié)議代表了一種契約精神,互聯(lián)網(wǎng)企業(yè)只有遵守這一規(guī)則,才能保證網(wǎng)站及用戶的隱私數(shù)據(jù)不被侵犯。違背Robots協(xié)議將帶來巨大安全隱憂——此前,曾經(jīng)發(fā)生過這樣一個真實的案例:國內(nèi)某公司員工郭某給別人發(fā)了封求職的電子郵件,該Email存儲在某郵件服務(wù)公司的服務(wù)器上。因為該網(wǎng)站沒有設(shè)置robots協(xié)議,導致該Email被搜索引擎抓取并被網(wǎng)民搜索到,為郭某的工作生活帶來極大困擾。如今,在中國國內(nèi)互聯(lián)網(wǎng)行業(yè),正規(guī)的大型企業(yè)也都將Robots協(xié)議當做一項行業(yè)標準,國內(nèi)使用Robots協(xié)議最典型的案例,就是淘寶網(wǎng)拒絕百度搜索、京東拒絕一淘搜索。不過,絕大多數(shù)中小網(wǎng)站都需要依靠搜索引擎來增加流量,因此通常并不排斥搜索引擎,也很少使用Robots協(xié)議。北京市漢卓律師事務(wù)所首席律師趙虎表示,Robots協(xié)議是維護互聯(lián)網(wǎng)世界隱私安全的重要規(guī)則。如果這種規(guī)則被破壞,對整個行業(yè)就是滅頂之災。搜索引擎百度對robots.txt是有反應(yīng)的,但比較慢,在減少禁止目錄抓取的同時也減少了正常目錄的抓取。原因應(yīng)該是入口減少了,正常目錄收錄需要后面再慢慢增加。Google對robots.txt反應(yīng)很到位,禁止目錄馬上消失了,部分正常目錄收錄馬上上升了。/comment/目錄收錄也下降了,還是受到了一些老目標減少的影響。搜狗抓取呈現(xiàn)普遍增加的均勢,部分禁止目錄收錄下降了??偨Y(jié)一下:Google似乎最懂站長的意思,百度等其它搜索引擎只是被動的受入口數(shù)量影響了。淘寶封殺2008年9月8日,淘寶網(wǎng)宣布封殺百度爬蟲,百度忍痛遵守爬蟲協(xié)議。因為一旦破壞協(xié)議,用戶的隱私和利益就無法得到保障,搜索網(wǎng)站就談不到人性關(guān)懷。京東封殺2011年10月25日,京東商城正式將一淘網(wǎng)的搜索爬蟲屏蔽,以防止一淘網(wǎng)對其的內(nèi)容抓取。違反事例BE違規(guī)抓取eBay在12年前,美國加州北部的聯(lián)邦地方法院就在著名的eBayVS. Bidder's Edge案中(NO.C-99-21200RMW,2000 U.S Dist. LEXI 7282),引用robots協(xié)議對案件進行裁定。 Bidder's Edge(簡稱BE)成立于1997年,是專門提供拍賣信息的聚合網(wǎng)站。12年前,BE利用“蜘蛛”抓取來自eBay等各個大型拍賣網(wǎng)站的商品信息,放在自己的網(wǎng)站上供用戶瀏覽,并獲得可觀的網(wǎng)站流量。對于eBay來說,來自BE蜘蛛每天超過十萬次的訪問,給自己的服務(wù)器帶來了巨大的壓力。而雖然eBay早已設(shè)置了robots協(xié)議禁止BE蜘蛛的抓取,但BE卻無視這個要求——原因很簡單,據(jù)估算,BE網(wǎng)站69%的拍賣信息都來自eBay, 如果停止抓取eBay內(nèi)容,這意味著BE將損失至少三分之一的用戶。數(shù)次溝通交涉未果后,2000年2月,忍無可忍的eBay終于一紙訴狀,將BE告上聯(lián)邦法庭,要求禁止BE的違規(guī)抓取行為。3個月后,受理此案的美國聯(lián)邦法官Ronald M. Whyte在經(jīng)過多方調(diào)查取證后做出裁定,認定BE侵權(quán)成立,禁止了BE在未經(jīng)eBay允許的情況下,通過任何自動查詢程序、網(wǎng)絡(luò)蜘蛛等設(shè)置抓取eBay的拍賣內(nèi)容。在當時的庭審中,雙方爭議的焦點主要集中在“網(wǎng)站是否有權(quán)設(shè)置robots協(xié)議屏蔽其他網(wǎng)站蜘蛛的抓取”。被告BE認為,eBay的網(wǎng)站內(nèi)容屬于網(wǎng)民自創(chuàng),因此是公共資源,eBay無權(quán)設(shè)立robots協(xié)議進行限制。然而,法院對這一說辭卻并不認同。在法官看來:“eBay 的網(wǎng)站內(nèi)容屬于私有財產(chǎn),eBay有權(quán)通過robots協(xié)議對其進行限制?!边`規(guī)抓取的行為無異于“對于動產(chǎn)的非法侵入”。也正是出于這一判斷,即使當年BE還只是搜索了eBay計算機系統(tǒng)里的一小部分數(shù)據(jù),其違反robots協(xié)議的抓取行為,仍然被判為侵犯了eBay將別人排除在其計算機系統(tǒng)以外的基本財產(chǎn)權(quán)。作為美國歷史上第一個保護互聯(lián)網(wǎng)信息內(nèi)容的法律裁定,eBay與BE的這起糾紛,成為網(wǎng)絡(luò)侵權(quán)案的標志性案例,并在當時引發(fā)了美國互聯(lián)網(wǎng)產(chǎn)業(yè)乃至社會的廣泛討論。SearchEngine Watch的知名專欄作家DannySullivan 曾專門在文章中指出,robots協(xié)議是規(guī)范搜索引擎爬蟲行為的極少數(shù)約定之一,理應(yīng)遵守,它不僅僅讓整個互聯(lián)網(wǎng)的開放性變成可能,最終也讓整個互聯(lián)網(wǎng)用戶受益。360搜索無視robots協(xié)議2012年8月,360綜合搜索被指違反robots協(xié)議:360甘冒行業(yè)道德風險 撕毀Robots自律協(xié)議2012年8月29日,上線不到十日即輕松登上國內(nèi)第二大搜索引擎寶座的奇虎360搜索遭遇滑鐵盧,在百度一項打擊違規(guī)抓取和匿名訪問的措施上線后,360搜索通過山寨加綁架用戶的模式被徹底揭穿,這個故事也正是對所謂“搜索引擎技術(shù)無用論”的當頭棒喝?!?60綜合搜索已超出Robots協(xié)議的‘底線’,不僅未經(jīng)授權(quán)大量抓取百度、google內(nèi)容,還記錄國內(nèi)知名網(wǎng)游的后臺訂單、優(yōu)惠碼等,甚至一些用戶的電子郵箱、帳號、密碼也被360通過瀏覽器悄然記錄在案”。2012年8月28日業(yè)內(nèi)一位有10年搜索工程師經(jīng)驗的專業(yè)人士表示。[2] 奇虎360搜索8月16 日上線,已連續(xù)遭到業(yè)界“違規(guī)”的警告。不僅UI設(shè)計,搜索結(jié)果直接剽竊、篡改百度、google等搜索引擎,還不顧國際通行的Robots協(xié)議,抓取百度、google等搜索引擎的內(nèi)容,很多商業(yè)網(wǎng)站和個人信息的私密內(nèi)容也被抓取泄密。據(jù)悉,這種匿名訪問和違規(guī)抓取其他網(wǎng)站內(nèi)容的行為,不僅嚴重違反了行業(yè)底線,也傷害到了用戶的體驗。在國外,這種行為甚至會受到法律方面的制裁。“這已經(jīng)嚴重觸碰了Robots協(xié)議的底線!這些讓如百度這樣踏踏實實做技術(shù)的公司進行反擊行動,是必然的!”這位搜索工程師告訴記者,所謂Robots協(xié)議,通俗的講就是網(wǎng)站會通過robots.txt協(xié)議來自主控制是否愿意被搜索引擎收錄,或者指定搜索引擎只收錄指定的內(nèi)容。而搜索引擎會按照每個網(wǎng)站主給與自己的權(quán)限來進行抓取。這就好比,一個正常的人去到別人家里,需要先敲門,得到許可以后才能進入客廳。除非有主人的進一步許可和邀請,否則你不能擅自進入內(nèi)室,或者在別人家里四處溜達。當然,強盜或者小偷例外。[3] 對于奇虎360綜合搜索被爆出無視國際通行的robots協(xié)議,抓取百度、Google等搜索引擎內(nèi)容,導致眾多網(wǎng)站出于安全和隱私考慮不允許搜索引擎抓取的內(nèi)網(wǎng)信息被泄露一事,資深互聯(lián)網(wǎng)觀察家洪波指出,做搜索就要遵守搜索行業(yè)公認的游戲規(guī)則,無視規(guī)則,肆意違反規(guī)則才是真正的不正當競爭,這種行為不能從法律和政府監(jiān)管上及時制止,將引發(fā)行業(yè)大亂。百度并沒有禁止所有爬蟲抓取問答、知道和貼吧的內(nèi)容,百度只是禁止了不規(guī)矩的、存在潛在安全風險的爬蟲,這恰是保護市場秩序,保護用戶隱私的合理舉措。2008年淘寶也曾禁止百度爬蟲,而百度則嚴格遵守robots協(xié)議,停止抓取淘寶網(wǎng)內(nèi)容,并沒有以淘寶不正當競爭為借口違反robots協(xié)議。中國工程院院士高文:Robots協(xié)議是搜索引擎在抓取網(wǎng)站信息時要遵守的一個規(guī)則,是國際互聯(lián)網(wǎng)界通行的道德規(guī)范。網(wǎng)站主人通過Robots協(xié)議明示自動抓取程序,服務(wù)器上什么內(nèi)容可以被抓取,什么內(nèi)容不可以被抓取。這是保證互聯(lián)網(wǎng)行業(yè)健康發(fā)展的自律準則,盡管不是強制命令,但業(yè)界都應(yīng)該遵守。中國互聯(lián)網(wǎng)企業(yè)要想在國際舞臺受到更多關(guān)注、得到更大的發(fā)展,沒有理由不遵守這個游戲規(guī)則。如果不遵守,不僅損害了違規(guī)企業(yè)自身的形象,也損害了中國互聯(lián)網(wǎng)行業(yè)的整體聲譽,得不償失。浙江大學計算機學院院長莊越挺:互聯(lián)網(wǎng)網(wǎng)站頁面,如同廣闊農(nóng)村中的一個菜園,各有其主。一般而言,訪客進去逛逛無可厚非,但是如果主人在邊界立下界碑:未經(jīng)允許不得入內(nèi),這就意味著主人的意愿成為外界是否獲準入園參觀的標準。Robots協(xié)議就是這樣一塊界碑,它雖然不具法律效應(yīng),但是人們都普遍遵循。未經(jīng)允許入園就參觀不僅違反了游戲規(guī)則,也有違道德標準。同樣的道理,違反Robots協(xié)議,等同于違背了搜索引擎的行業(yè)規(guī)范,以這種方式獲取資源是一種不道德的競爭。哈爾濱工業(yè)大學教授劉挺:Robots協(xié)議是互聯(lián)網(wǎng)中網(wǎng)站為搜索引擎所制定的內(nèi)容抓取規(guī)則,體現(xiàn)了業(yè)界同行之間的相互信任。如果不遵循Robots協(xié)議,將會破其業(yè)界信任,使得網(wǎng)站的內(nèi)容不愿意被抓取的內(nèi)容被搜索引擎索引,最終傷害用戶的利益。而清華大學計算機系教授馬少平則指出,如果不遵守Robots協(xié)議,肆意抓取網(wǎng)站的內(nèi)容,網(wǎng)站的信息被任意泄漏,將對互聯(lián)網(wǎng)的良性發(fā)展產(chǎn)生巨大的破壞作用。百度起訴360百度訴奇虎360違反“Robots協(xié)議”抓取、復制其網(wǎng)站內(nèi)容侵權(quán)一案,2013年10月16日上午在北京市第一中級人民法院開庭審理。百度方面認為,360搜索在未獲得百度公司允許的情況下,違反業(yè)內(nèi)公認的Robots協(xié)議,抓取百度旗下百度知道、百度百科、百度貼吧等網(wǎng)站的內(nèi)容,已經(jīng)構(gòu)成了不正當競爭,并向奇虎索賠1億元。百度公關(guān)部郭彪向媒體表示,Robots協(xié)議是網(wǎng)站信息和網(wǎng)民隱私保護的國際通行規(guī)范之一,理應(yīng)得到全球互聯(lián)網(wǎng)公司的共同遵守。不尊重Robots協(xié)議將可能導致網(wǎng)民隱私大規(guī)模泄露。郭彪表示,更嚴重的是,奇虎360還利用360瀏覽器等客戶端,強行抓取網(wǎng)民的瀏覽數(shù)據(jù)和信息到搜索服務(wù)器,完全無視Robots協(xié)議。這一做法目前已經(jīng)導致大量企業(yè)內(nèi)網(wǎng)信息被泄露。2012年年底,百度工程師通過一個名為“鬼節(jié)捉鬼”的測試,證明了360瀏覽器存在私自上傳“孤島頁面”等隱私內(nèi)容到360搜索的行為。360方面則認為,360搜索索引這些內(nèi)容頁面并不涉嫌侵犯百度的權(quán)益,實際上還為百度帶來了大量的用戶和流量,百度應(yīng)該感謝360。 [2] 網(wǎng)友解答:當一個搜索蜘蛛訪問網(wǎng)站時,首先訪問根目錄WWW下是否存在robots.txt,若存在,搜索機器人就會按照該文件中的內(nèi)容來確定訪問的范圍。
01-認識robots.txt(1)robots.txt是搜索引擎訪問網(wǎng)站時查看的第一個文件,決定著蜘蛛能或不能訪問。
(2)若存在robots.txt文件,蜘蛛會按照該文件來確定訪問的范圍;若不存在,所有的搜索蜘蛛將能夠訪問網(wǎng)站上所有頁面。
(3)robots.txt必須放在一個站點的根目錄下,且文件名必須全部小寫(真實的服務(wù)器就使用ftp上傳)。
(4)建議就算允許所抓取所有內(nèi)容,也要建一個空的robots.txt文件。
(5)可將sitemap網(wǎng)站地圖放置robots.txt文件(地圖寫法:http://abc.com/sitemap.html)。
02-robots.txt的寫法(1)允許所有搜索引擎訪問網(wǎng)站所有內(nèi)容
User-agent: *
Disallow:
(2)禁止所有搜索引擎訪問網(wǎng)站所有內(nèi)容
User-agent: *
Disallow: /
(3)只允許百度搜索引擎抓取
User-agent: Baiduspider
Disallow: /
(4)如果我們禁止除百度外的一切搜索引擎索引
User-agent: Baiduspider
Disallow:
robots.txt文件其實就是告訴蜘蛛哪些頁面可以抓取,哪些頁面不能訪問。
網(wǎng)友解答:robotos是一種網(wǎng)絡(luò)協(xié)議,在網(wǎng)站根目錄以robotos.txt文件形式存在,簡單來說就是你可以通過編輯這個文件的內(nèi)容來告訴搜索引擎你的網(wǎng)站那些頁面可以抓取,哪些頁面不可以抓取。
網(wǎng)友解答:2013年2月8日北京市第一中級人民法院正式受理了百度訴奇虎360違反“Robots協(xié)議”抓取、復制其網(wǎng)站內(nèi)容的不正當競爭行為一案,索賠金額高達一億元,這可以看做2012年下半年“3B大戰(zhàn)”的繼續(xù)。在此次索賠案件中,百度稱自己的Robots文本中已設(shè)定不允許360爬蟲進入,而360的爬蟲依然對“百度知道”、“百度百科”等百度網(wǎng)站內(nèi)容進行抓取。
其 實早在2012年11月初,針對雙方摩擦加劇的情況,在中國互聯(lián)網(wǎng)協(xié)會的牽頭下,包括百度、新浪、奇虎360在內(nèi)的12家互聯(lián)網(wǎng)公司已共同簽署了《互聯(lián)網(wǎng) 搜索引擎服務(wù)自律公約》,在公約第七條承諾“遵循國際通行的行業(yè)慣例與商業(yè)規(guī)則,遵守機器人協(xié)議(robots協(xié)議)?! 〗裉炀驼覀€機會聊聊一夜成名的robots協(xié)議?! 〕踝Rrobots協(xié)議 什么是robots 要 了解robots協(xié)議首先要了解robots,本文說的robots不是《I,robot》里的威爾·史密斯,不是《機器人總動員》里的瓦力和伊娃,不是 《終結(jié)者》系列中的施瓦辛格。什么?這些經(jīng)典電影你都不知道?好吧,算我想多了。本文的robots特指搜索引擎領(lǐng)域的web robots,這個名字可能很多人不熟悉,但是提到Web Wanderers,Crawlers和Spiders很多人可能就恍然大悟了,在中文里我們統(tǒng)稱為爬蟲或者網(wǎng)絡(luò)爬蟲,也就是搜索引擎抓取互聯(lián)網(wǎng)網(wǎng)頁的程序?! ⊥瑢W們都知道網(wǎng)頁是通過超級鏈接互相關(guān)聯(lián)起來的,從而形成了網(wǎng)頁的網(wǎng)狀結(jié)構(gòu)。爬蟲的工作方式就像蜘蛛在網(wǎng)上沿著鏈接爬來爬去,最基本的流程可以簡化如下: 1.喂給爬蟲一堆url,我們稱之為種子(seeds)2.爬蟲抓取seeds,解析html網(wǎng)頁,抽取其中的超級鏈接3.爬蟲接著抓取這些新發(fā)現(xiàn)的鏈接指向的網(wǎng)頁 2,3循環(huán)往復 什么是robots協(xié)議 了解了上面的流程就能看到對爬蟲來說網(wǎng)站非常被動,只有老老實實被抓取的份。存在這樣的需求: 1.某些路徑下是個人隱私或者網(wǎng)站管理使用,不想被搜索引擎抓取,比如說日本愛情動作片2.不喜歡某個搜索引擎,不愿意被他抓取,最有名的就是之前淘寶不希望被百度抓取3.小網(wǎng)站使用的是公用的虛擬主機,流量有限或者需要付費,希望搜索引擎抓的溫柔點4.某些網(wǎng)頁是動態(tài)生成的,沒有直接的鏈接指向,但是希望內(nèi)容被搜索引擎抓取和索引網(wǎng) 站內(nèi)容的所有者是網(wǎng)站管理員,搜索引擎應(yīng)該尊重所有者的意愿,為了滿足以上等等,就需要提供一種網(wǎng)站和爬蟲進行溝通的途徑,給網(wǎng)站管理員表達自己意愿的機 會。有需求就有供應(yīng),robots協(xié)議就此誕生。Robots協(xié)議,學名叫:The Robots Exclusion Protocol,就搜索引擎抓取網(wǎng)站內(nèi)容的范圍作了約定,包括網(wǎng)站是否希望被搜索引擎抓取,哪些內(nèi)容不允許被抓取,把這些內(nèi)容放到一個純文本文件 robots.txt里,然后放到站點的根目錄下。爬蟲抓取網(wǎng)站內(nèi)容前會先抓取robots.txt,據(jù)此“自覺地”抓取或者不抓取該網(wǎng)頁內(nèi)容,其目的是 保護網(wǎng)站數(shù)據(jù)和敏感信息、確保用戶個人信息和隱私不被侵犯?! ⌒枰⒁獾氖莚obots協(xié)議并非是規(guī)范,只是行業(yè)內(nèi)一個約定俗成的協(xié)議。什么意思呢?Robots協(xié)議不是什么技術(shù)壁壘,而只是一種互相尊重的協(xié)議,好比私家花園的門口掛著“閑人免進”,尊重者繞道而行,不尊重者依然可以推門而入,比如說360?! ≌f了這么多,看幾個有名的例子感覺一下先: 例子1:淘寶 User-agent: Baiduspider Disallow: / User-agent: baiduspider Disallow: / 程序猿,你懂的。這不就是淘寶不想讓百度抓取嘛例子2:京東 User-agent: * Disallow: /?* Disallow: /pop/*.html User-agent: EtaoSpider Disallow: / 這個也不復雜,京東有2個目錄不希望所有搜索引擎來抓。同時,對etao完全屏蔽?! 』就娣ā obots.txt的位置 說簡單也簡單,robots.txt放到一個站點的根目錄下即可。說復雜也有點小復雜,一個robots.txt只能控制相同協(xié)議,相同端口,相同站點的網(wǎng)頁抓取策略。什么意思呢?看個例子最清楚: 百度網(wǎng)頁搜索 百度知道 這兩個robots.txt的內(nèi)容是不同的,也就是說百度網(wǎng)頁搜索和百度知道的抓取策略可以由自己獨立的robots.txt來控制,井水不犯河水。 robots.txt的內(nèi)容 最簡單的robots.txt只有兩條規(guī)則: 1.User-agent:指定對哪些爬蟲生效 2.Disallow:指定要屏蔽的網(wǎng)址 整個文件分為x節(jié),一節(jié)由y個User-agent行和z個Disallow行組成。一節(jié)就表示對User-agent行指定的y個爬蟲屏蔽z個網(wǎng)址。這里x=0,y0,z0。x=0時即表示空文件,空文件等同于沒有robots.txt?! ∠旅嬖敿毥榻B這兩條規(guī)則: User-agent 爬蟲抓取時會聲明自己的身份,這就是User-agent,沒錯,就是http協(xié)議里的User-agent。robots.txt利用User-agent來區(qū)分各個引擎的爬蟲?! ∨e例說明:google網(wǎng)頁搜索爬蟲的User-agent為Googlebot,下面這行就指定google的爬蟲?! ser-agent:Googlebot 如果想指定所有的爬蟲怎么辦?不可能窮舉啊,可以用下面這一行: User-agent: * 可能有的同學要問了,我怎么知道爬蟲的User-agent是什么?這里提供了一個簡單的列表:爬蟲列表當然,你還可以查相關(guān)搜索引擎的資料得到官方的數(shù)據(jù),比如說google爬蟲列表,百度爬蟲列表Disallow Disallow 行列出的是要攔截的網(wǎng)頁,以正斜線 (/) 開頭,可以列出特定的網(wǎng)址或模式。 要屏蔽整個網(wǎng)站,使用正斜線即可: Disallow: / 要屏蔽某一目錄以及其中的所有內(nèi)容,在目錄名后添加正斜線: Disallow: /無用目錄名/ 要屏蔽某個具體的網(wǎng)頁,就指出這個網(wǎng)頁。 Disallow: /網(wǎng)頁。html Disallow還可以使用前綴和通配符?! ∫帘文夸沘1-a100,可以使用上面的方式寫100行,或者Disallow:/a 但是需要注意,這樣會把任何以a開頭的目錄和文件也屏蔽,慎用。如果需要屏蔽a1-a100,但是不屏蔽a50,怎么辦?同學們可以思考一下,這個問題我們留到下一節(jié)?! ∫柚固囟愋偷奈募ㄈ?.gif),請使用以下內(nèi)容: Disallow: /*.gif$ *匹配任意個字符,$匹配url結(jié)束,具體就不解釋了吧,不了解的同學去自學一下通配符?! √崾疽幌拢珼isallow的內(nèi)容區(qū)分大小寫。例如,Disallow:/junkfile.asp 會屏蔽 junkfile.asp,卻會允許Junk_file.asp?! ∽钭詈螅ㄅ浞皇撬兴阉饕娑贾С?,使用要小心。沒辦法,誰讓robots.txt沒有一個大家都承認的標準呢?! 嵗?### 百度網(wǎng)頁搜索 User-agent: Baiduspider Disallow: /baidu Disallow: /s? User-agent: Googlebot Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro User-agent: MSNBot Disallow: /baidu Disallow: /s? Disallow: /shifen/ Disallow: /homepage/ Disallow: /cpro … 現(xiàn)在讀懂這個應(yīng)該毫無壓力了吧,順便說一句百度的robots.txt比較啰嗦,有興趣的同學可以簡化一下。 高階玩法 首先聲明:高級玩法不是所有引擎的爬蟲都支持,一般來說,作為搜索引擎技術(shù)領(lǐng)導者的谷歌支持的最好?! ±樱篻oogle robots.txt allow 還記得上面的問題嗎?如果需要屏蔽a1-a100,但是不屏蔽a50,怎么辦? 方案1: Disallow:/a1/ Disallow:/a2/ … Disallow:/a49/ Disallow:/a51/ … Disallow:/a100/ 方案2: Disallow:/a Allow:/a50/ ok,allow大家會用了吧。 順便說一句,如果想屏蔽a50下面的文件private.html,咋整? Disallow:/a Allow:/a50/ Disallow:/a50/private.html 聰明的你一定能發(fā)現(xiàn)其中的規(guī)律,對吧?誰管的越細就聽誰的?! itemap 前 面說過爬蟲會通過網(wǎng)頁內(nèi)部的鏈接發(fā)現(xiàn)新的網(wǎng)頁。但是如果沒有連接指向的網(wǎng)頁怎么辦?或者用戶輸入條件生成的動態(tài)網(wǎng)頁怎么辦?能否讓網(wǎng)站管理員通知搜索引擎 他們網(wǎng)站上有哪些可供抓取的網(wǎng)頁?這就是sitemap,最簡單的 Sitepmap 形式就是 XML 文件,在其中列出網(wǎng)站中的網(wǎng)址以及關(guān)于每個網(wǎng)址的其他數(shù)據(jù)(上次更新的時間、更改的頻率以及相對于網(wǎng)站上其他網(wǎng)址的重要程度等等),利用這些信息搜索引擎 可以更加智能地抓取網(wǎng)站內(nèi)容?! itemap是另一個話題,足夠開一篇新的文章聊的,這里就不展開了,有興趣的同學可以參考sitemap新的問題來了,爬蟲怎么知道這個網(wǎng)站有沒有提供sitemap文件,或者說網(wǎng)站管理員生成了sitemap,(可能是多個文件),爬蟲怎么知道放在哪里呢? 由于robots.txt的位置是固定的,于是大家就想到了把sitemap的位置信息放在robots.txt里。這就成為robots.txt里的新成員了?! 」?jié)選一段google robots.txt: Sitemap: http://www.gstatic.com/culturalinstitute/sitemaps/www_google_com_culturalinstitute/sitemap-index.xmlSitemap: http://www.google.com/hostednews/sitemap_index.xml插一句,考慮到一個網(wǎng)站的網(wǎng)頁眾多,sitemap人工維護不太靠譜,google提供了工具可以自動生成sitemap?! etatag 其實嚴格來說這部分內(nèi)容不屬于robots.txt,不過也算非常相關(guān),我也不知道放哪里合適,暫且放到這里吧?! obots.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)中的標題)有可能會出現(xiàn)在引擎的搜索結(jié)果中。如果想徹底對搜索引擎隱身那咋整呢?答案是: 元標記,即meta tag?! ”热缫耆柚挂粋€網(wǎng)頁的內(nèi)容列在搜索引擎索引中(即使有其他網(wǎng)站鏈接到此網(wǎng)頁),可使用 noindex 元標記。只要搜索引擎查看該網(wǎng)頁,便會看到 noindex 元標記并阻止該網(wǎng)頁顯示在索引中,這里注意noindex元標記提供的是一種逐頁控制對網(wǎng)站的訪問的方式?! ∨e例: 要防止所有搜索引擎將網(wǎng)站中的網(wǎng)頁編入索引,在網(wǎng)頁的部分添加: <meta name="robots"content="noindex" 這里的name取值可以設(shè)置為某個搜索引擎的User-agent從而指定屏蔽某一個搜索引擎?! 〕薾oindex外,還有其他元標記,比如說nofollow,禁止爬蟲從此頁面中跟蹤鏈接。詳細信息可以參考Google支持的元標記,這里提一句:noindex和nofollow在HTML 4.01規(guī)范里有描述,但是其他tag的在不同引擎支持到什么程度各不相同,還請讀者自行查閱各個引擎的說明文檔?! rawl-delay 除了控制哪些可以抓哪些不能抓之外,robots.txt還可以用來控制爬蟲抓取的速率。如何做到的呢?通過設(shè)置爬蟲在兩次抓取之間等待的秒數(shù)?! rawl-delay:5 表示本次抓取后下一次抓取前需要等待5秒?! ∽⒁猓篻oogle已經(jīng)不支持這種方式了,在webmastertools里提供了一個功能可以更直觀的控制抓取速率。 這 里插一句題外話,幾年前我記得曾經(jīng)有一段時間robots.txt還支持復雜的參數(shù):Visit-time,只有在visit-time指定的時間段里, 爬蟲才可以訪問;Request-rate: 用來限制URL的讀取頻率,用于控制不同的時間段采用不同的抓取速率。后來估計支持的人太少,就漸漸的廢掉了,有興趣的同學可以自行g(shù)oogle。我了解 到的是目前google和baidu都已經(jīng)不支持這個規(guī)則了,其他小的引擎公司貌似從來都沒有支持過。如果確有支持那是我孤陋寡聞了,歡迎留言告知?! ≌娴挠杏?? 好吧,到此為止robots.txt相關(guān)的東東介紹的也七七八八了,能堅持看到這里的同學估計都躍躍欲試了,可惜,我要潑盆冷水,能完全指望robots.txt保護我們網(wǎng)站的內(nèi)容嗎?不一定。否則百度和360就不用打官司了?! f(xié)議一致性 第一個問題是robots.txt沒有一個正式的標準,各個搜索引擎都在不斷的擴充robots.txt功能,這就導致每個引擎對robots.txt的支持程度各有不同,更不用說在某個功能上的具體實現(xiàn)的不同了?! 【彺妗 〉?二個問題是robots.txt本身也是需要抓取的,出于效率考慮,一般爬蟲不會每次抓取網(wǎng)站網(wǎng)頁前都抓一下robots.txt,加上 robots.txt更新不頻繁,內(nèi)容需要解析。通常爬蟲的做法是先抓取一次,解析后緩存下來,而且是相當長的時間。假設(shè)網(wǎng)站管理員更新了 robots.txt,修改了某些規(guī)則,但是對爬蟲來說并不會立刻生效,只有當爬蟲下次抓取robots.txt之后才能看到最新的內(nèi)容。尷尬的是,爬蟲下次抓取robots.txt的時間并不是由網(wǎng)站管理員控制的。當然,有些搜索引擎提供了web 工具可以讓網(wǎng)站管理員通知搜索引擎那個url發(fā)生了變化,建議重新抓取。注意,此處是建議,即使你通知了搜索引擎,搜索引擎何時抓取仍然是不確定的,只是比完全不通知要好點。至于好多少,那就看搜索引擎的良心和技術(shù)能力了?! gnore 第三 個問題,不知是無意還是有意,反正有些爬蟲不太遵守或者完全忽略robots.txt,不排除開發(fā)人員能力的問題,比如說根本不知道 robots.txt。另外,本身robots.txt不是一種強制措施,如果網(wǎng)站有數(shù)據(jù)需要保密,必需采取技術(shù)措施,比如說:用戶驗證,加密,ip攔 截,訪問頻率控制等?! ⊥低档淖ァ 〉谒膫€問題,即使采用了種種限制,仍然存在某些惡意的抓取行為能突破這些限制,比如一些利用肉雞進行的抓取。悲觀的說,只要普通用戶可以訪問,就不能完全杜絕這種惡意抓取的行為。但是,可以通過種種手段使抓取的代價增大到讓對方無法接受。比如說:Captcha, Ajax用戶行為驅(qū)動的異步加載等等。這個就不屬于本文討論的范疇了?! ⌒姑堋 ∽?后,robots.txt本身還存在泄密的風險。舉例,如果某一個網(wǎng)站的robots.txt里突然新增了一條:Disallow /map/,你想到了什么?是不是要推出地圖服務(wù)了?于是有好奇心的同學就會開始嘗試各種文件名去訪問該路徑下的文件,希望能看到驚喜。貌似當初 google的地圖就是這么被提前爆出來的,關(guān)于這點我不太確定,大家就當八卦聽聽好了?! 」ぞ摺 oogle webmaster tools robots.txt生成工具 Perl robots.txt解析器 Python robots.txt解析器
網(wǎng)友解答:1、網(wǎng)站開放給所有搜索引擎爬蟲抓?。║ser-agent: *)
2、禁止所有爬蟲程序抓取根目錄下的caches目錄(Disallow: /caches)
新站收錄本身沒有那么快,可嘗試加入百度站長平臺,利用官方工具提交網(wǎng)站Sitemap文件??稍谝欢ǔ潭壬霞涌焓珍浰俣?。
檢測網(wǎng)站是否存在影響爬蟲程序抓取的“陷進”,比如框架結(jié)構(gòu)、JS文件等,培養(yǎng)良好的內(nèi)容更新習慣,讓爬蟲程序每次來的時候都有新的內(nèi)容產(chǎn)生。
網(wǎng)友解答:禁止搜索引擎抓取的意思,你用的是phpcms吧。學技巧網(wǎng)站制作回答