(给技术最前线加星标,每天看技术热点)
原创:技术最前线(id:TopITNews)
什么是 robots.txt ?
Robots Exclusion Protocol (REP,爬虫排除协议) 是一个标准,它允许网站所有者通过一个具有特定语法的简单文本文件(即:robots.txt),控制哪些 url 可以被爬虫程序访问,哪些不能访问。
下面是 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 的每日趋势榜。
这个解析器用 C++ 编写实现(兼容 C++11)。Google 在生产环境中一直使用的,包括了上世纪 90 年代编写的代码。
仓库链接:https://github.com/google/robotstxt
谷歌为啥要开源 robots.txt 解析器?
robots.txt 是我们所知的互联网的基本组成部分之一,也是搜索引擎得以运行的原因。
因为在过去的 25 年里,REP 只是一个事实上的标准,不同的爬虫对 robots.txt 的解析不尽相同。
robots.txt 是一个「君子协议」,尽管声明某些 url 不能访问,但爬虫可以绕过。这就导致了混淆。
Google 此次开源的目的,是想通过自家使用的解析器来解决这个问题。
推荐阅读
(点击标题可跳转阅读)
觉得这条资讯有帮助?请转发给更多人
关注 技术最前线 加星标,看 IT 要闻
最新业界资讯,我在看??