Google 開(kāi)源 robots.txt 解析器,推動(dòng) REP 標(biāo)準(zhǔn)化
記者消息,7 月 1 日,Google 在其博客上發(fā)布了一個(gè)重要消息,它宣布,Google 開(kāi)源了存儲(chǔ) robots.text 解析器的 C++ 庫(kù),以便推動(dòng) REP(Robots Exclusion Protocol,也稱爬蟲(chóng)協(xié)議、機(jī)器人協(xié)議)成為互聯(lián)網(wǎng)標(biāo)準(zhǔn)。
1994 年,荷蘭軟件工程師 Martijin Koster 提出了 REP 的概念,通過(guò) robots.txt 文件來(lái)隱藏一些信息不被搜索引擎抓取,比如,只抓取應(yīng)該被抓取的頁(yè)面;屏蔽一些網(wǎng)站中較大的文件;屏蔽一些無(wú)效鏈接;保密敏感信息等。
記者注:搜索引擎的爬取方式(圖片來(lái)自百度百科)
我們可以這么來(lái)理解,網(wǎng)站就好比一個(gè)房間,robots.txt 文件就是主人在房門(mén)上懸掛的“請(qǐng)勿打擾”的提示牌,可以讓人止步于一些存放貴重物品的房間,但它終究不是守門(mén)人,無(wú)法阻擋懷有惡意的竊賊。
聯(lián)合多方力量上交提案
25 年過(guò)去了,業(yè)內(nèi)對(duì) REP 表示了充分的認(rèn)可,但現(xiàn)在它更像是一個(gè)道德規(guī)范,而不是非官方的互聯(lián)網(wǎng)標(biāo)準(zhǔn)。
不過(guò),Google 正致力于改變這一現(xiàn)狀。Google 在博客中說(shuō)道,
我們希望幫助網(wǎng)站所有者和開(kāi)發(fā)者在互聯(lián)網(wǎng)上創(chuàng)造令人驚嘆的體驗(yàn),而不是擔(dān)心如何控制抓取工具。Google 和協(xié)議的發(fā)起人,以及其他網(wǎng)絡(luò)管理員和搜索引擎共同起草了一份關(guān)于如何在現(xiàn)代網(wǎng)絡(luò)上適用 REP的提案,目前已經(jīng)上交給了 IETF(記者按:Internet Engineering Task Force,非盈利互聯(lián)網(wǎng)開(kāi)放標(biāo)準(zhǔn)組織,負(fù)責(zé)開(kāi)發(fā)和推廣自愿互聯(lián)網(wǎng)標(biāo)準(zhǔn))。
Google 的提案反映了 20 多年來(lái) Googlebot 和一些主要網(wǎng)絡(luò)爬蟲(chóng),以及大約 5 億依賴 REP 的網(wǎng)站應(yīng)用 robots.txt 的實(shí)際經(jīng)驗(yàn),并且在現(xiàn)代網(wǎng)絡(luò)層面做了擴(kuò)展,定義了 robots.txt 解析和匹配的所有之前未定義場(chǎng)景:
任何基于 URI 的傳輸協(xié)議都可以使用 robots.txt;它不再局限于 HTTP,也可用于 FTP 或 CoAP。
開(kāi)發(fā)人員必須至少解析 robots.txt 的前 500 KB 內(nèi)容。定義文件的最大值,以確保打開(kāi)連接不需要花太長(zhǎng)時(shí)間,從而減輕服務(wù)器上不必要的壓力。
新的最長(zhǎng)緩存時(shí)間為 24 小時(shí)或可用的緩存指令值,賦予網(wǎng)站所有者靈活性隨時(shí)更新 robots.txt,而爬蟲(chóng)程序不會(huì)因此使網(wǎng)站過(guò)載。
當(dāng)前可以訪問(wèn)的 robots.txt 文件由于服務(wù)器故障而變得不可訪問(wèn)時(shí),這些無(wú)法訪問(wèn)的頁(yè)面將在很長(zhǎng)一段時(shí)間內(nèi)不被檢索。
開(kāi)源 robots.txt 解析器
除了聯(lián)合多方力量向 IETF 上交提案,Google 還作出了其它努力,開(kāi)源了自己 robots.txt 文件庫(kù)旨在創(chuàng)建標(biāo)準(zhǔn)化語(yǔ)法來(lái)創(chuàng)建和解析文件,消除所有混淆。
Google 在博客中這樣說(shuō)道:
REP 是網(wǎng)絡(luò)中最基本,最關(guān)鍵的組成部分之一,但它只是約定俗成的標(biāo)準(zhǔn),這難免讓人感到沮喪;這給網(wǎng)絡(luò)管理員和爬蟲(chóng)工具開(kāi)發(fā)者帶了困擾......推動(dòng) REP 成為行業(yè)標(biāo)準(zhǔn)這件事十分重要,因?yàn)樗厦總€(gè)人的利益。不過(guò),對(duì)于解析 robots.txt 文件的開(kāi)發(fā)人員來(lái)說(shuō),這種標(biāo)準(zhǔn)化需要付出更大的努力,所以,我們開(kāi)源了含有 robots.txt 解析器的 C++ 庫(kù)。
據(jù)稱,這個(gè) C++ 庫(kù)已經(jīng)存在了 20 年之久,里面包含了自 90 年代起就編寫(xiě)的代碼片段。在這 20 年里,該庫(kù)經(jīng)歷了不斷的發(fā)展,也覆蓋了許多在編寫(xiě) robots.txt 文件方面非常實(shí)用的案例,這對(duì)想要構(gòu)建自己的解析器的開(kāi)發(fā)人員來(lái)說(shuō)很有助益。
除此之外,Google 還在開(kāi)源軟件包中添加了一個(gè)測(cè)試工具,可以幫助編寫(xiě)人員測(cè)試 robots.txt 的效果。
外界的態(tài)度
在 Google 開(kāi)源 robots.txt 后,這個(gè)話題引起了廣泛的關(guān)注,甚至登頂 Hacker News。
Constellation 研究公司(記者(公眾號(hào):記者)按: 專門(mén)從事數(shù)字化轉(zhuǎn)型和顛覆性技術(shù)方面的技術(shù)研究與咨詢)的分析師 Holger Mueller 告訴 SiliconANGLE,標(biāo)準(zhǔn)化對(duì)于互聯(lián)網(wǎng)正常工作至關(guān)重要,很高興看到 Google ?在 REP 這樣基本的東西上取得領(lǐng)先。
Holger Mueller 還補(bǔ)充道,
與任何開(kāi)源倡議和標(biāo)準(zhǔn)化嘗試一樣,我們還需要靜待,看看此舉到底會(huì)不會(huì)成功,我們又能在此之中學(xué)到什么。這是一個(gè)值得密切關(guān)注的領(lǐng)域。
在國(guó)內(nèi),網(wǎng)友們也紛紛高呼“谷人?!保ㄓ浾甙矗骸肮雀瑁祟?lèi)的希望”)來(lái)表示對(duì)該事件的贊賞。





