写点什么

谷歌正式开源内部解析器与代码库,旨在推进形成 robots.txt 解析标准

  • 2019-07-02
  • 本文字数:834 字

    阅读完需:约 3 分钟

谷歌正式开源内部解析器与代码库,旨在推进形成robots.txt解析标准

机器人排除协议(REP)是一种标准,使网站所有者能够通过具有特定语法的简单文本文件来控制自动客户端(即爬虫)可以访问哪些 URL。它是我们所知道的互联网基本构建模块之一,也是搜索引擎运行的基础。


25 年来,机器人排除协议(REP)几乎成为了一种约定俗成的标准,但这有时会带来一些负面的影响,不同的开发者实现 robots.txt 的解析总是略有不同,很容易导致混乱。


一方面,对于网站管理员来说,这意味着在某些特殊情况下的不确定性,比如当他们的文本编辑器在 robots.txt 文件中包含 BOM 字符时。另一方面,对于爬虫和工具开发人员来说,也带来了不确定性,例如,它们应该如何处理几百兆字节的 robots.txt 文件?


今天,谷歌宣布:将通过发布一款 Google 内部使用的解析器和一套 C++库来解决这个问题。


开源项目地址:https://github.com/google/robotstxt


据称,这个库已经有 20 年的历史了,它包含了一些九十年代编写的代码,也包含了很多关于网站管理员如何编写 robots.txt 文件和必须处理的案例的知识。


该 C++库只对产品代码做了轻微修改(即一些内部 header 和等同的符号),Googlebot(Google 的抓取工具)使用它来根据 robots.txt 文件中网站管理员提供的规则确定可以访问的网址,可帮助开发人员构建更好地反映 Google robots.txt 解析和匹配的工具。


库中包含了一个二进制文件,用于针对用户代理和 URL 测试本地 robots.txt。运行包含的二进制文件需要:


  • 兼容的平台(例如 Windows,Mac OS X,Linux 等)。大多数平台都完全支持。

  • 兼容的 C ++编译器,至少支持 C ++ 11。大多数主要编译器都受到支持。

  • Git用于与源代码存储库交互。如要安装 Git,请参阅GitHub上的 Set Up Git指南 。

  • 虽然用户可以自由使用自己的构建系统,但本指南中的大多数文档都假设用户使用的是 Bazel。要下载和安装 Bazel(及其任何依赖项),请参阅 Bazel安装指南


此外,谷歌还在开源包中添加了一个测试工具,以帮助开发者测试一些规则。使用非常简单:


robots_main <robots.txt content> <user_agent> <url>
复制代码


2019-07-02 18:347977
用户头像
陈思 InfoQ编辑

发布了 576 篇内容, 共 294.0 次阅读, 收获喜欢 1305 次。

关注

评论

发布
暂无评论
发现更多内容

钢轨行业的数字化转型:全生命周期管理与智能化决策支持

天津汇柏科技有限公司

数字化转型

用技术定义未来,洲际交易所ICE即将推出AI高频交易平台

科技热闻

一文搞懂5种内存溢出案例,内含完整源码

华为云开发者联盟

Java JVM 华为云 华为云开发者联盟 企业号2024年6月PK榜

软件测试学习笔记丨Flask操作数据库-多对多操作

测试人

数据库 软件测试

AE脚本Motion 4 中文版for Mac v4.1.2激活版 MG运动图形高级工具

Rose

Beyond Compare 4 mac中文破解版 及安装教程 兼容M1/M2

Rose

什么时候需要用到 @EnableWebSecurity 注解?

江南一点雨

Java spring spring security

心大陆多智能体还原人类情感,激发心理健康领域“新质生产力”!

心大陆多智能体

接口测试 Mock 工具使用 - 弱网测试

测试人

软件测试 弱网测试

DpEasy社区版1.4.0 | 体验全新的数据库特权账号管理平台!

BinTools图尔兹

数据库 应用 数据库安全

Next-Level Agents:释放动态上下文(Dynamic Context)的巨大潜力

Baihai IDP

AI 白海科技 LLMs 企业号 6 月 PK 榜 AI Agent

Mac SVN客户端 SmartSVN for Mac许可证书及详细安装图文教程 支持M1/M2

Rose

Photoshop CC 2018 for Mac(ps cc 2018)v19.1.8中文激活版

Rose

MySQL5.7 通过逻辑备份迁移到GreatSQL注意事项

GreatSQL

活动回顾丨AI 原生应用架构专场·北京站 PPT 下载

阿里巴巴云原生

阿里云 架构 云原生

人工智能能为区块链和初创公司做些什么?

web3区块链创业团队DappNetWork

TouchDesigner Pro 2023 mac破解版 及安装教程

Rose

谷歌正式开源内部解析器与代码库,旨在推进形成robots.txt解析标准_开源_陈思_InfoQ精选文章