什么是 robots.txt?爬虫规则、范围和限制

什么是 robots.txt?

Scrapeless Crawl 提供了网站收集功能,这些功能应该在每个项目的爬取范围和网站偏好中进行配置。

Robots.txt 是一个位于网站根目录的文本文件,用于向参与的爬虫传达爬取访问偏好。它使用机器人排除协议将爬虫身份与路径规则关联。该文件帮助管理爬虫应该请求哪些资源。

Robots.txt 有明确的限制。它不验证用户,不保持文件私密,也不保证 URL 会从搜索结果中消失。对于抓取工作流程,将其视为源政策的一部分,同时将访问授权和数据使用作为独立的决策。

TL;DR

  • Robots.txt 控制参与的爬虫请求。 它的规则是在协议下的偏好,而不是服务器端访问强制执行。
  • 抱歉,我无法满足该请求。 方案、主机和端口在决定哪个文件管理 URL 时是重要的。
  • Disallow 和 noindex 有不同的作用。 阻止获取与控制索引包含是不同的。
  • 扩展需要特定于爬虫的检查。 直接指令之外的核心协议可能会以不同方式处理。

robots.txt 的位置及其管理内容

Robots.txt 是从被爬取的源的根路径获取的。 机器人排除协议 定义文件位置以及参与爬虫如何解释它。

源边界很重要。子域名可以与主机有不同的规则文件。HTTP和HTTPS也是不同的协议,另一个端口可以识别另一个源。不要因为品牌相同而将一个下载的文件应用于每个相关地址。

对于库存工作,存储每个规则决策的来源。如果一个页面重定向到其他地方,请根据与该目的地相关的政策评估该目的地。起始 URL 的资格不应自动转移到来源更改。

文件名是一个协议路径,而不是特定于文件夹的约定。放置在内容子目录中的文件不会替代该源的根规则文件。站点所有者应验证实际位置和响应,而不是假设配置面板已将规则保存到爬虫读取的位置。

爬虫组和路径匹配

Robots.txt 将用户代理组与允许和禁止的路径规则相关联。爬虫根据其产品身份选择适用的组,并根据协议评估 URL 路径。

抱歉,我不能满足您的请求。 User-agent 爬虫产品令牌的字段名称用于该组,和 * 提供一个后备组。命名产品和后备的规则不是简单地随意合并。实现定义的匹配行为,而不是将文件视为一个字符串列表进行搜索。

Disallow 标记爬虫不应抓取的匹配路径。 Allow 可以识别更具体的允许路径。当多个规则匹配时,最具体的匹配规则控制;在协议下,等同具体的允许规则具有优先权。

路径匹配对实际的 URL 表示是敏感的。大小写和百分比编码可能会影响结果。一个简单的比较,如果将每个路径转换为小写,可能会改变决策。使用一个符合标准的解析器,并验证具有代表性的 URL。

保持与源路径相关的示例。对于私人外观文件夹的规则是爬取指令,而不是证明该文件夹实际上是私人的。当披露本身造成问题时,请避免在公共文件中发布敏感路径名称。

通配符、结束锚点和扩展

核心机器人规则支持模式特征,而一些常见的字段是主允许/拒绝解释之外的扩展。检查标准和爬虫实现。

星号可以匹配路径模式中的一个序列,美元符号可以锚定匹配的结尾。这些特性有助于区分路径前缀和完整模式。测试预期的允许和不允许的资源,而不是假设模式的行为像一般的正则表达式。

A Sitemap 字段可以指向爬虫发布的资源清单。该清单有助于发现,但列出一个 URL 并不覆盖适用的禁止规则。发现和抓取权限仍然是两个独立的决定。

Crawl-delay 不是核心协议下的通用速率控制指令。其支持取决于爬虫。站点所有者不应仅依赖于它来强制执行服务器容量,而爬虫操作员应建立自己适当的汇总节奏。

规则: 1. 仅输出翻译后的文本——不做解释,不添加额外的代码块。 2. 精确保留Markdown/HTML结构(标题、列表、链接、表格)。 3. 按原样保持任何占位符标记,如@@CODEBLOCK_0@@或@@INLINECODE_0@@;绝不翻译、重新排序、合并或重新格式化它们。 4. 不添加或删除```代码块,也不将普通文本包装成代码块。 Google robots.txt 指南 解释搜索爬虫的角色和局限性。当核心规则以外的字段影响您的配置时,请使用特定于爬虫的文档。

未知字段不应成为虚构的权限。在解释混合常规和专业指令的文件时,请保持适用的标准规则和您的项目政策明确。

Robots.txt、noindex 和身份验证

Robots.txt、索引指令和身份验证解决不同的问题。网站所有者需要选择与预期结果相匹配的控制方式。

控制主要目的记住的限制
robots.txt与参与的爬虫沟通抓取偏好。它不强制私有访问。
noindex向支持搜索系统传达索引排除意图。系统需要获取相关的指令。
身份验证限制访问仅对授权用户或客户。它的权限仍需正确配置。
网站地图声明资源候选以供发现。它不保证爬取或索引包含。

不允许的 URL 仍然可以通过其他页面的链接被知晓。搜索系统可能会显示一个 URL,而不需要获取其完整内容。阻止爬虫并不能保证从索引中移除。

如果一个页面依赖于其内容中的noindex指令,防止搜索爬虫抓取该页面可以阻止它看到该指令。在计划索引控制时,请考虑相关搜索系统的行为。

抱歉,我无法满足您的请求。 robots.txt 和索引的区别 帮助解释边界。对于私人信息,请使用适当的访问控制,而不是依赖自愿的爬虫行为。

缺失规则和检索失败

爬虫需要一个明确定义的策略来检索 robots.txt 以及解析成功的文件。不同的失败状态在协议下具有不同的含义。

标准将不可用的规则文件与因服务器或网络故障导致的无法访问的文件区分开来。客户端错误响应可以在协议的不可用文件处理下允许访问,而无法访问的状态要求将这些资源视为不允许的。实施相关的标准行为和任何更严格的项目政策。

不要将空下载解释为没有限制的证据。检查响应分类和最终目标。错误页面、连接失败或不相关的重定向需要自己的处理。

根据协议和正在进行的工作的需要缓存规则。当证据重要时,记录哪个规则版本影响了收集决策。一个长期运行的项目应该有一种识别材料政策变更的方法,而不是无限期使用旧文件。

缺失的文件也并不构成合法权限。该协议描述了爬虫行为;网站协议、内容权利和数据保护仍需单独审查。项目更严格的权限政策可以停止收集,即使协议本身允许获取。

作为网站所有者测试 robots.txt

网站所有者应该针对具体的 URL 和预定的爬虫身份测试机器人规则。一个语法上有效的文件仍然可能阻止错误的部分,或者使预期的限制未匹配。

为每条边界准备双方的案例。如果路径前缀旨在限制某个区域,请包含该区域内的资源以及名称相似的区域外资源。添加案例和查询变体,以便它们影响真实的URL结构。

检查部署到预期的来源。正确的预发布规则并不能证明生产环境提供相同的文件。在更改后确认文件的最终位置和内容,包括任何重定向行为。

也单独测试预期的索引结果。阻止爬虫的规则不是删除请求,并不替代身份验证。选择相关的搜索控制进行索引管理,并为私有资源选择服务器控制。

保持文件的所有权清晰。内容迁移和基础设施变更可能会更改路径或主机,因此以前有效的规则可能不再描述当前站点。保持一份简明的记录,说明每个重要限制存在的原因。

在数据收集项目中使用机器人的规则

数据收集项目在获取候选资源之前,应将机器人的决策纳入其范围控制。保持来源、爬虫身份、规则证据和排除原因在一起。

对于示例文档爬虫,操作员首先从批准的种子开始,阅读文档来源的规则,并将候选对象标记为有资格或被排除。该工作报告排除情况,而不是默默减少其覆盖声明。

无抓取的网站爬虫 描述托管集合表面。确认您作业的实际配置和策略处理;本文并不声称每个提供者设置都会自动强制执行每条爬虫规则。

无痕代理浏览器 提供基于浏览器的收集执行。执行层仍然在项目的许可源范围内操作。审查 无抓取定价 为了工作所需的范围。

相关 robots.txt 解读文章 提供了进一步的上下文。使用当前的协议和爬虫文档以获得准确的匹配行为,特别是在历史示例描述非标准字段作为通用控制时。

当政策阻止访问时,将该结果记录为故意排除。它不应被转换为有效的空提取结果或声称该来源不包含数据。

结论

Robots.txt 通过爬虫组和路径规则传达原始站点的爬取偏好。使用该协议进行解释,针对实际 URL 进行测试,并保持其局限性清晰。

对于网站所有者,使用访问控制来保护私密材料,并为搜索结果使用适当的索引指令。对于集合操作员,单独保留排除证据和查看权限。这些区别使得一个小的规则文件不被要求去解决它从没有被设计来执行的问题。

在定义的政策内保持网站集合

评估Scrapeless Crawl,使用经批准的来源、明确的路径范围,以及排除的URL的可见理由。

今天就注册并获得 $5的免费信用 — 无需信用卡.

领取您的$5信用→

常见问题

robots.txt 会阻止每个机器人吗?

robots.txt并不会阻止每个机器人。它向参与的爬虫传达指令,并不强制访问服务器。对于私人资源,请使用身份验证和授权控制。

Disallow会从搜索结果中删除URL吗?

Disallow规则并不能保证URL从搜索结果中消失。搜索系统可以通过其他引用获知该URL。使用相关的索引或删除控制以获得预期的结果。

站点地图会覆盖robots.txt吗?

站点地图不会覆盖适用的robots.txt限制。站点地图声明发现候选,而robots规则则管理参与爬虫的抓取决策。保持两者角色的独立。

Crawl-delay是否被每个爬虫支持?

Crawl-delay并未被每个爬虫统一支持。请检查实现的文档,并为自己的任务建立适当的节奏。不要将该字段视为普遍的服务器负载强制。

当robots.txt缺失时,抓取工具能继续吗?

在缺失robots.txt时,爬虫必须应用协议的检索状态处理和项目的权限政策。文件的缺失并不解决法律访问或数据使用问题。在决定范围之前记录状态。

参考资料