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