谷歌再度出手将开源robots.txt解析器,限制爬虫的

网络推广 2021-01-06 10:31www.1681989.com网站推广
对于接触过爬虫的朋友来说绝对熟悉,这个就是存放在网站根目录下的ASCII码文件标明了网站中哪些内容是可以抓取的,哪些内容又是禁止抓取的。

今年,robots.txt就满25周岁了,为了给这位互联网MVP庆祝生日,谷歌再度出手,开源robots.txt解析器,试图推助机器人排除协议(REP)正式成为互联网行业标准。

非标准的标准

机器人排除协议(Robots Exclusion Protocol)是荷兰软件工程师Martijn Koster在1994提出的一项标准,其核心就是通过robots.txt这样一个简单的文本文件来控制爬虫机器人的行为。

REP以其简单高效征服了互联网行业,有超过5亿个网站都在使用robots.txt,可以说它已经成为了限制爬虫的事实标准,像Googlebot在抓取网页时就会浏览robots.txt来确保其不冒犯网站的特别声明。

然而,在为互联网行业服务了25年之后,REP仍然只是一个非官方的标准。

这可带来了不少麻烦。

比如拼写错误。有很多人会忽视robots.txt规则中的冒号,而把Disallow拼成Dis Allow这种让爬虫抓瞎的情况也不是没有出现过。

此外,REP本身并没有涵盖所有的情况,比如出现错误500时,爬虫是啥都可以抓还是啥也不能抓?

对于网站所有者来说,模糊的事实标准使得正确地书写规则变成了一件难事。这就够让人头疼的了,更别提并非所有的爬虫都尊重robots.txt这件事了。

来自谷歌的生日礼

REP的尴尬,以搜索起家的谷歌看在眼里。于是在REP诞生25周年之际,谷歌大笔一挥,献上一份厚礼,宣布将与REP原作者Martijn Koster、网站管理员和其他合作,向互联网工程任务组(IETF)提交规范化使用REP的草案,努力助其成为真正的官方标准!

为此,谷歌还开源了其用于抓取网络的工具之一——robots.txt解析器,来帮助开发人员构建自己的解析器,以期创建更多的通用格式,促进标准的完善。

此番开源的C++库已存在20年之久,涵盖了谷歌生产历程中经历的许多有关robots.txt文件的案例。开源软件包中还包含了一个测试工具,可以帮助开发者们测试一些规则。

谷歌表示,他们希望帮助网站所有者和开发者们在互联网中创造出更多惊人的体验,而不是成天担心怎么去限制爬虫。

草案内容目前尚未全面公布,但大致会聚焦于推火网以下几个方向:

任何基于URI的传输协议都可以使用robots.txt。不局限于HTTP,还包括和CoAP。

开发人员必须至少解析robots.txt的前500 KiB。定义最大文件大小来确保打开文件不会花太长时间,以减轻服务器的压力。

新的最大缓存时间或缓存指令值为24小时,使网站所有者可以随时灵活地更新robots.txt,并且爬虫不会使用robots.txt请求超载网站。

当先前可访问的robots.txt文件由于服务器故障而变得不可访问时,在长时间内不会对已知的不允许页面进行抓取。不少网友评论谷歌此番开源再次引起热议。

有网友表示,谷歌作为搜索行业的领军人物,大多数的搜索引擎都愿意紧随其后,他们愿做先锋统一行业标准是一件很有意义的事情。

还有网友对谷歌愿意开源robots.txt解析器感到既兴奋又惊奇,谷歌将来还会开源与搜索相关的其他模块吗?想想都有点刺激呀。

而Martijn Koster本人也说出了一些网友的心声:谷歌真是棒呆了!

传送门

开源地址:https://github,com/google/robotstxt


Copyright © 2016-2025 www.1681989.com 推火网 版权所有 Power by

长沙SEO优化|网络推广|网络营销|SEO培训|湖南做网站|网站建设|网站设计|短视频|竟价推广