news 2026/3/1 5:37:55

爬虫?先看网站的robots.txt

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
爬虫?先看网站的robots.txt

文章目录

  • robots.txt 是什么
  • 以zoopla为例分析
    • 1)robots.txt 的基本读法(先建立规则脑图)
    • 2)你这份 robots.txt:逐段(逐行簇)解释
      • A. 文件开头的 ASCII 画
      • B. 第一段:通用规则(对所有爬虫)
        • 你应该怎么读这些 Disallow?
          • 1)屏蔽“功能页/动态接口/内部系统”
          • 2)屏蔽“带参数的搜索页 / 重复内容页”
          • 3)屏蔽“核心业务详情页(尤其房源详情)”
      • C. 两行注释式 Disallow(被注释掉了)
      • D. “看起来像 bug 的规则”要警惕
      • E. “Allow” 的作用:在大范围 Disallow 里开例外
      • F. 针对特定爬虫的专门规则(从这里开始,每段都是新的作用域)
        • 1)Baidu 的专门限制
        • 2)Slurp(雅虎爬虫)全站封
        • 3)一堆“点名封禁”的爬虫
        • 4)例外:放行 Google Ads 和 grapeshot
      • G. Sitemap:告诉爬虫“去这些地址拿 URL 清单”
    • 3)读 robots.txt 的实战步骤(拿任何站都通用)
    • 4)你这份 robots.txt 一句话总结它的策略

robots.txt 是什么

robots.txt 是网站根目录下的一个文本文件(通常地址形如 https://example.com/robots.txt),用来告诉搜索引擎的爬虫(robots):

哪些路径可以抓取(Allow)

哪些路径不要抓取(Disallow)

有时还会提供 站点地图(Sitemap) 的地址

也可能针对不同爬虫设置不同规则(User-agent)

它本质上是一个“爬虫访问建议/规则声明”,属于 Robots Exclusion Protocol 的常见用法。

以zoopla为例分析

  • 以网站zoopla为例,分析网站的robots.txt

王先生,你贴出来的是一个典型的robots.txt(给爬虫看的“抓取规则说明书”)。我按“怎么读”和“你这份文件逐段在说什么”两条线,把它逐行拆开讲清楚。


1)robots.txt 的基本读法(先建立规则脑图)

robots.txt 通常由几类指令组成:

  • User-agent:指定“这段规则给谁看”(哪个爬虫/机器人)。
  • Disallow:不允许抓取的路径前缀/模式。
  • Allow:允许抓取的路径(常用于在 Disallow 很宽时开小口子)。
  • Sitemap:站点地图地址(告诉爬虫去哪找 URL 清单)。
  • # ...:注释,不生效。

匹配机制(核心)

  • 规则一般按“路径前缀/模式”匹配 URL 的 path + query(实现上不同爬虫略有差异,但大体如此)。
  • 最常见原则:更具体(更长、更精确)的规则优先。
  • Disallow:为空通常表示“全部允许”(你这份里没有这个形式)。
  • *通配符:匹配任意字符序列(Google/Bing 支持;有些爬虫不完全支持)。
  • $结尾锚点:匹配到 URL 末尾(同样是主流搜索引擎支持的扩展)。

2)你这份 robots.txt:逐段(逐行簇)解释

A. 文件开头的 ASCII 画

# ___ ...
  • 全是#开头 →注释,纯装饰,不影响规则。

B. 第一段:通用规则(对所有爬虫)

User-agent: *
  • *代表所有爬虫。下面直到下一个User-agent:出现之前的规则,都属于它。

接下来大量:

Disallow: */sort.html* Disallow: /*?st=EORST* ... Disallow: /property/ ... Allow: /new-homes/retirement/uk/ ... Disallow: /agent-valuation/
你应该怎么读这些 Disallow?

把它们分三类看会很快:

1)屏蔽“功能页/动态接口/内部系统”

例如:

  • /ajax/cgi-bin/api/*/dynimgs/widgets/graph
    这些通常是接口或动态资源,对搜索没价值、还容易被滥抓,禁掉很正常。
  • /signin*/myaccount/myzoopla/tracking/
    这是登录/账户/跟踪相关,必须禁。
2)屏蔽“带参数的搜索页 / 重复内容页”

例如:

  • Disallow: /*?st=EORST*
  • Disallow: /*?rpn=*
  • Disallow: /*q=Disallow: /*?qpn=
    这类是query string?后参数)导致的无穷组合,容易造成“重复抓取”和“爬虫陷阱”,所以封掉。

你还能看到很多“参数名”:

  • identifierurlimagefeaturesearch_sourceinclude_soldnew_homes
    本质都是:别抓带这些参数的 URL
3)屏蔽“核心业务详情页(尤其房源详情)”

你这里非常关键的一句:

Disallow: /property/

这表示:对User-agent: *的爬虫,所有 /property/ 开头的页面都不让抓
对房产站来说这很典型:房源详情价值高、抓取压力大、又涉及商业策略,所以往往默认封掉,改让“合作渠道/特定爬虫/站内方式”访问。

还有类似:

  • /property-history//property/claim//property/estimate/
    都是围绕房产的衍生功能页。

C. 两行注释式 Disallow(被注释掉了)

# Disallow: /property/location/edit/* # Disallow: /property/edit/
  • #开头 →这两条当前不生效
    但它透露了:站点曾考虑/曾经屏蔽这些编辑相关路径。

D. “看起来像 bug 的规则”要警惕

你这份里有几条像这样:

Disallow: /*seo_is_keyword Disallow: /*search_source=facets Disallow: /*include_sold= Disallow: /*business_for_sale= Disallow: /*search-path=

注意:它们末尾没有*或明确的终止符,也没有$
这通常仍然能匹配以该字符串开头的路径片段(实现相关),但从写法看更像“希望屏蔽某类参数但没写完整”。遇到这种,你读法是:

  • 先按字面理解:凡 URL 中出现这些片段就不想被抓
  • 再意识到:不同爬虫对这种“半截模式”的支持不一,可能存在“规则写得不严谨”。

E. “Allow” 的作用:在大范围 Disallow 里开例外

你这里有:

Disallow: /new-homes/retirement/*/ Allow: /new-homes/retirement/uk/

意思是:

  • 先封掉/new-homes/retirement/下的大量页面(可能太多、太重复)
  • 明确允许/new-homes/retirement/uk/这个入口/聚合页被抓取

这就是典型的“先大封,再开白名单”。


F. 针对特定爬虫的专门规则(从这里开始,每段都是新的作用域)

1)Baidu 的专门限制
# Baidu restricted to for sale and new homes User-agent: Baiduspider Disallow: /to-rent/ Disallow: /home-values/ Disallow: /house-prices/ Disallow: /find-agents/ Disallow: /market/ Disallow: /property/ Disallow: /askme/

解读:

  • 这段只对Baiduspider生效。
  • 注释说得很直白:只让百度抓“出售/新房”相关,其他不让抓
  • 再次强调/property/也封,说明房源详情对百度也不给。
2)Slurp(雅虎爬虫)全站封
User-agent: Slurp Disallow: /
  • /表示从根开始全封 →完全不允许抓取
3)一堆“点名封禁”的爬虫

比如:

User-agent: proximic Disallow: / User-agent: PetalBot Disallow: / User-agent: SpriftCrawler Disallow: / ... User-agent: spider Disallow: / ...

这类就是:

  • 站点认为这些 UA 抓取行为不友好/无价值/压力大 →直接封全站
4)例外:放行 Google Ads 和 grapeshot
User-agent: Mediapartners-Google Disallow: User-agent: grapeshot Disallow:
  • Disallow:后面是空 → 通常表示不禁止任何路径(等价于“全站允许”)。
  • Mediapartners-Google 是 Google Ads 相关的爬虫,站点希望广告系统能访问页面内容做投放/匹配,所以放行。

G. Sitemap:告诉爬虫“去这些地址拿 URL 清单”

Sitemap: https://www.zoopla.co.uk/xmlsitemap/sitemap/index.xml.gz Sitemap: https://www.zoopla.co.uk/xmlsitemap/manual_sitemap/commercial_srp_sitemap.txt.gz ... Sitemap: https://www.zoopla.co.uk/xmlsitemap/new-sitemap/sitemap-index.xml

解读要点:

  • robots.txt 不是用来列出所有可抓 URL 的;真正给搜索引擎喂 URL 的主要靠 sitemap。
  • 这里提供了多个 sitemap(不同业务线:commercial、overseas、area_guides、student_accom 等)。
  • .gz是压缩的 sitemap,常见。

3)读 robots.txt 的实战步骤(拿任何站都通用)

  1. 先找User-agent: *
    这是“默认规则”。大部分爬虫至少会看它。

  2. 再找你关心的爬虫名字(Googlebot、Baiduspider、bingbot…)
    如果有专门段落,就以专门段落为主(一般会覆盖默认)。

  3. 把 Disallow 分组

    • 登录/账户/后台
    • 接口/动态资源
    • 搜索页(带 query 参数)
    • 详情页(高价值内容)
      你会立刻看懂站点“怕什么、想保护什么”。
  4. 看 Allow 是否在“封禁大目录”里开口子
    这种最容易误读。

  5. 最后看 Sitemap
    robots 决定“能不能抓”,sitemap 决定“抓什么更高效”。


4)你这份 robots.txt 一句话总结它的策略

  • 对所有爬虫:强力屏蔽搜索/参数页、接口、账户页,并且把/property/这类房源详情大目录也封掉。
  • 对某些爬虫:直接全站封(Slurp、PetalBot 等)。
  • 对广告爬虫:放行。
  • 用多个 Sitemap把可索引内容按业务拆开供抓取。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/1 4:07:39

小红的二叉树【牛客tracker 每日一题】

小红的二叉树 时间限制:1秒 空间限制:1024M 知识点:数论 网页链接 牛客tracker 牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相…

作者头像 李华
网站建设 2026/2/25 20:43:18

苹果应用隐私政策配置指南

引言 在开发iOS应用的过程中,隐私政策的配置是一个不可忽视的重要环节。苹果公司对应用的隐私保护有着严格的要求,如果不正确配置隐私信息,可能会导致应用无法通过审核。本文将详细介绍如何配置苹果应用的隐私政策,并通过一个实际案例来展示解决常见问题的步骤。 理解隐私…

作者头像 李华
网站建设 2026/2/27 5:18:24

多线程Web爬虫:如何避免超时错误

在解决LeetCode的多线程Web爬虫问题时,我发现一个有趣的现象:使用ThreadPoolExecutor时,代码可能会超时,即使是在非常简单的测试用例中。今天,我们来探讨一下为什么会发生这种情况,并提供一个优化方案。 问题分析 首先,让我们回顾一下原始的代码实现: class Solutio…

作者头像 李华
网站建设 2026/2/18 21:11:45

大数据环境下 Kafka 的集群搭建指南

大数据环境下 Kafka 的集群搭建指南 关键词:Kafka 集群、大数据、分布式系统、消息队列、高吞吐量 摘要:在大数据时代,如何高效处理海量实时数据流是企业的核心需求之一。Kafka 作为一款分布式消息队列,凭借高吞吐量、低延迟和强容…

作者头像 李华
网站建设 2026/2/27 14:49:12

智能配电监控模块:50A磁保持,负载5500W电机设备,工业配电安全新方案

智能配电监控模块是一款集大功率远程控制、每路独立电流监控和多功能自动化逻辑于一体的先进电气管理终端设备。一、核心特性 50A磁保持:指其核心执行单元。 能力:每路通道能安全承载和控制高达50安培的大电流,可直接驱动电机、电热器等11KW级…

作者头像 李华
网站建设 2026/2/28 16:39:59

mPLUG视觉问答工具提示词技巧:让分析更精准

mPLUG视觉问答工具提示词技巧:让分析更精准 1. 引言 你是否曾经遇到过这样的情况:上传一张图片到AI视觉问答工具,却得到了一个完全偏离主题的回答?或者明明图片中有明显的物体,但AI就是识别不出来?这往往…

作者头像 李华