您現在的位置是:首頁 >人工智能 > 2021-05-13 01:55:09 來源:
谷歌開源robots.txt解析器推動機器人排除協議成為官方標準
谷歌希望將數十年前的機器人排除協議(REP)變成一個官方的互聯網標準 - 并且它正在制作自己的robots.txt解析器開源作為推送的一部分。
REP是由荷蘭軟件工程師Martijn Koster于1994年提出的標準,幾乎已經成為網站用來告訴自動爬蟲不應該處理哪些網站部分的標準。例如,谷歌的Googlebot抓取工具會在索引網站時掃描robots.txt文件,以檢查它應該忽略哪些部分的特殊說明 - 如果根目錄中沒有這樣的文件,它會認為抓取它是好的(并且index)整個網站。但是,這些文件并不總是用于提供直接爬行指令,因為它們也可以填充某些關鍵字以改善搜索引擎優化,以及其他用例。
值得注意的是,并非所有抓取工具都尊重robots.txt文件,幾年前互聯網檔案館就會選擇為其Wayback Machine歸檔工具提供支持,而其他更惡意的抓取工具也會選擇忽略REP。
雖然REP通常被稱為“標準”,但它實際上從未成為真正的互聯網標準,正如互聯網工程任務組(IETF)所定義的那樣- 互聯網的非營利性開放標準組織。而這正是谷歌正在推動改變的方式。它表示現在的REP可以解釋,可能并不總是涵蓋谷歌稱之為“今天的角落案件”。
定義undefined
這一切都是為了更好地定義現有的“未定義場景” - 例如,當前一次掃描中已知內容時,爬蟲如何處理將robots.txt文件呈現為不可訪問的服務器故障情況?爬蟲如何處理有拼寫錯誤的規則呢?
“對于網站所有者來說,這是一個具有挑戰性的問題,因為模糊的事實標準使得很難正確地編寫規則,”谷歌在一篇博文中寫道。“我們希望幫助網站所有者和開發者在互聯網上創造出令人驚嘆的體驗,而不是擔心如何控制抓取工具。”
谷歌稱,它與REP的原作者Martijn Koster以及網站管理員和其他搜索引擎合作,向IETF提交了一份關于“如何在現代網絡上使用REP”的提案。
該公司尚未全面公布該草案,但它確實對其關注的一些領域給出了一些指示:
任何基于URI的傳輸協議都可以使用robots.txt。例如,它不再局限于HTTP,也可以用于FTP或CoAP。
開發人員必須至少解析robots.txt的前500 kibibytes。定義最大文件大小可確保連接不會打開太長時間,從而減輕服務器上不必要的壓力。
新的最大緩存時間為24小時或緩存指令值(如果可用),使網站所有者可以隨時靈活地更新robots.txt,并且爬蟲不會使用robots.txt請求超載網站。例如,在HTTP的情況下,可以使用Cache-Control報頭來確定緩存時間。
該規范現在規定,當先前可訪問的robots.txt文件由于服務器故障而變得不可訪問時,不會在相當長的時間段內對已知的不允許頁面進行爬網。
此處值得注意的是,抓取工具可以不同地解釋robots.txt文件中包含的說明,這可能會導致網站所有者的混淆。這就是為什么谷歌還推出了C ++庫,它支持Googlebot在GitHub上的解析和匹配系統,供任何人訪問。根據GitHub的發布說明,Google希望開發人員構建自己的解析器,“更好地反映Google的robots.txt解析和匹配”。