当前位置: 代码迷 >> 综合 >> 谷歌一直在用的 robots.txt 解析器,终于开源了
  详细解决方案

谷歌一直在用的 robots.txt 解析器,终于开源了

热度:23   发布时间:2023-12-13 09:07:23.0

(给技术最前线加星标,每天看技术热点)

原创:技术最前线(id:TopITNews)

什么是 robots.txt ?

Robots Exclusion Protocol (REP,爬虫排除协议) 是一个标准,它允许网站所有者通过一个具有特定语法的简单文本文件(即:robots.txt),控制哪些 url 可以被爬虫程序访问,哪些不能访问。

640?wx_fmt=png

下面是 Google 网站 robots.txt 的部分内容:

User-agent: *	
Disallow: /search	
Allow: /search/about	
Allow: /search/static	
Allow: /search/howsearchworks	
Disallow: /sdch	
Disallow: /groups	
Disallow: /index.html?	
Disallow: /?

从 https://www.google.com/robots.txt 能看到全部。

下面这是百度网站 robots.txt 的部分内容:

User-agent: Baiduspider	
Disallow: /baidu	
Disallow: /s?	
Disallow: /ulink?	
Disallow: /link?	
Disallow: /home/news/data/	User-agent: Googlebot	
Disallow: /baidu	
Disallow: /s?	
Disallow: /shifen/	
Disallow: /homepage/	
Disallow: /cpro	
Disallow: /ulink?	
Disallow: /link?	
Disallow: /home/news/data/

从 https://www.baidu.com/robots.txt 能看到全部。

谷歌开源 robots.txt 解析器

近日,Google 把自家一直在用的网络爬虫 robots.txt 解析器开源了。该仓库一度登上 GitHub 的每日趋势榜。

640?wx_fmt=jpeg

这个解析器用 C++ 编写实现(兼容 C++11)。Google 在生产环境中一直使用的,包括了上世纪 90 年代编写的代码。

仓库链接:https://github.com/google/robotstxt

谷歌为啥要开源 robots.txt 解析器?

robots.txt 是我们所知的互联网的基本组成部分之一,也是搜索引擎得以运行的原因。

因为在过去的 25 年里,REP 只是一个事实上的标准,不同的爬虫对 robots.txt 的解析不尽相同。

robots.txt 是一个「君子协议」,尽管声明某些 url 不能访问,但爬虫可以绕过。这就导致了混淆。

Google 此次开源的目的,是想通过自家使用的解析器来解决这个问题。

推荐阅读

(点击标题可跳转阅读)

觉得这条资讯有帮助?请转发给更多人

关注 技术最前线 加星标看 IT 要闻

640?wx_fmt=png

最新业界资讯,我在看??