谷歌開源robots.txt 欲引領搜索引擎爬蟲的行業標準
外媒VentureBeat報導稱,谷歌希望將發展數十年的robots.txt解析器開源,以推動REP成為搜索引擎爬蟲的行業標準。機器人排除協議(REP)是荷蘭軟件工程師Martijn Koster於1994年提出的一個標準,幾乎已經成為了網站不希望被搜索引擎收錄的註釋的事實標準。
(截圖via VentureBeat)
比如穀歌爬蟲(Googlebot)就會在索引某個網站時掃描robots.txt 文件,以確定其應該忽略掉哪些部分。如果根目錄中未包含該文件,那搜索引擎就會默認索引(index)全站內容。
值得一提的是,,該文件不僅可以用於提供直接的爬蟲索引,還可以被用來填充一些關鍵字,以實現“搜索引擎優化”(SEO)。此外,並非所有抓取工具都會嚴格遵從robots.txt 文件。
比如幾年前,互聯網檔案光就選擇了為其“時光機”(Wayback Machine)歸檔工具提供支持,另外一些惡意抓取工具也會有意忽略REP 。
不過需要指出的是,即便REP 已經成為了默認的實施標準,但它實際上從未成為真正的互聯網標準,正如互聯網工程任務組(IETF – 一家非營利性開放標註組織)所定義的那樣。
為了推動這項轉變,谷歌正在積極參與行動。這家搜索巨頭表示,當前的REP 可以被“解釋”,但並不總是涵蓋邊緣化的案例。
作為補充,谷歌提出了更全面的“未定義場景”。比如在執行一次“掃描已知內容”的任務時,爬蟲該如何處理“ 服務器出現不可訪問故障”的robots.txt文件、或者有拼寫錯誤的規則?
谷歌在一篇博客文章中寫到:“對於網站所有者來說,這是一項極具挑戰性的問題。因為模糊的事實標準,讓他們很難恰當地編寫規則”。
我們希望幫助網站所有者和開發者在互聯網上創造出令人驚嘆的體驗,而無需擔心如何對抓取工具加以限制。
於是谷歌與REP 原作者Martijn Koster、網站管理員、以及其它搜索引擎合作,向IETF 提交了一份關於《如何在現代網絡上適用REP》的提案。
該公司尚未公佈該草案的全貌,但卻是提供了一些指引。比如任何基於URI 的傳輸協議,都可以適用robots.txt 。且其不再局限於HTTP,亦可面向FTP 或CoAP 。
據悉,開發者必須至少解析robots.txt 的前500 KB 內容。定義文件的大小,可確保每個連接的打開時間不會太長,從而減輕不必要的服務器壓力。
另外,新的最大緩存時間被設置為24 小時(或可用的緩存指令值),使得網站所有者能夠隨時靈活地更新他們的robots.txt,且爬蟲不會因此而讓網站超載。
例如,在HTTP 的情況下,可使用Cache-Control 報頭來確定緩存時間。而當先前可訪問的robots.txt 文件由於服務器故障而變得不可用時,則會在相當長的時間段內不再檢索該網站。
這裡需要點明的是,抓取工具可以用不同的方式去解析robots.txt 文件中的說明,這可能會導致網站所有者的混淆。
為此,谷歌特地推出了C++ 庫,其支持Googlebot 在GitHub 上給出的解析和匹配系統,以供任何人訪問。
根據GitHub 上的發布說明,Google 希望開發者構建自己的解析器,以更好地反映Google 的robots.txt 文件的解析和匹配。