【问题标题】:What are the rules for the robots.txt file?robots.txt 文件的规则是什么?
【发布时间】:2016-06-23 11:42:57
【问题描述】:

我正在尝试构建一个 robots.txt 解析器,但我脑子里有个简单的问题:robots.txt 文件的规则是什么?

我开始搜索它,在 robotstxt.org 上我发现了一个 1996 年的 document,它为 robots.txt 文件定义了一些规则。本文档明确定义了 User-agentAllowDisallow 的所有规则。

在寻找 robots.txt 的一些示例时,我找到了标签,例如 SitemapHost

我一直在寻找它,并在维基百科上找到了这个document。解释一些额外的标签。

但我的意思是,由于我对 Wikipedia 不太信任,并且 Web Crawler 技术正在不断发展,为 robots.txt 文件创建新规则,有没有一个地方可以找到每条规则在 robots.txt 文件中定义?

【问题讨论】:

  • 解析文件后打算做什么?您是否正在实施网络爬虫?用它做其他事情?
  • 我打算做一个简单的网络爬虫。获取一种独特的内容,但首先我要实现机器人。
  • 我明白了。对于这样的事情,你真的只需要“User-Agent”、“Disallow”、“X-Robots-Meta”和“”。其他选项相当少见,适用于更高级的用例(例如,只有当您的爬虫定期以非常频繁的时间间隔爬取同一个网站并且具有比大多数网站更大的爬取能力时,明确给出爬取率才有意义。网站必须接收来自爬虫的流量)。
  • 我知道我实际上并不需要它。但由于我找不到提供有关 robots.txt 的所有信息的来源,我想知道是否有其他人知道。

标签: robots.txt


【解决方案1】:

http://www.robotstxt.org/orig.html 是官方/原始 robots.txt 规范。¹

它定义了字段User-agentDisallow,并指定了clients must ignore unknown fields。这允许其他人创建扩展(例如,Sitemap field defined by the Sitemaps protocol)。

没有注册表(因此存在名称冲突的风险),也没有负责收集所有扩展名的标准组织。

2008 年,Google (their announcement)、Microsoft² 和 Yahoo!³ (their announcement) 齐聚一堂,就他们将支持的一组功能达成一致(请注意,他们为 Disallow 值引入了保留字符,而在原始规范中,所有字符都将按字面意思解释)。
但是,这仅记录了他们的解释(对于他们的机器人);这不是其他机器人必须遵循的某种规范。但是查看他们的文档(例如,from Bingfrom Google Searchfrom Yandex)可以让您了解那里有什么。


¹http://www.robotstxt.org/norobots-rfc.txt 是 RFC 的初稿,但据我所知,这从未提交/发布过。

²他们的公告seems to be 404

³ 最初,他们的公告似乎是在http://www.ysearchblog.com/archives/000587.html,但现在是 404。

【讨论】:

  • 所以,没有官方来源。但是知道最大的爬虫的文档可以让您了解当前正在发生的事情。感谢@unor 的回答。
【解决方案2】:

你会发现最官方的东西是:http://www.robotstxt.org

但我认为对于 robots.txt 而言,实际工作/实际使用的内容更为重要——而不是某人在某些规范中所写的内容。

Google 的 robots.txt 信息页面和他们的在线检查器是一个很好的起点:https://support.google.com/webmasters/answer/6062608?rd=1(在http://www.robotstxt.org/checker.html 也推荐)

【讨论】:

  • 我知道实际工作更重要。但是我可以在哪里查找更新以了解是否有新标签。作为我以前从未听说过的标签Sitemap,似乎是一个强大的“功能”,我怎么知道当前是否使用了robots.txt的另一个“功能”?
猜你喜欢
  • 2023-02-01
  • 1970-01-01
  • 2012-05-16
  • 1970-01-01
  • 2018-01-26
  • 1970-01-01
  • 2020-08-17
  • 2014-01-06
  • 1970-01-01
相关资源
最近更新 更多