news 2026/5/1 10:00:06

爬虫?先看网站的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/5/1 8:17:25

‍AI客服软件:应对高复杂售前咨询 图书行业客服能力的进化路径

图书行业一直被认为是“低客单、重咨询”的典型代表。看似标准化的商品背后,实际承载的是高度复杂的决策过程:版本差异、出版社不同、教材地区适配、内容体系差异、是否配套音视频资源……任何一个环节解释不清,都会直接影响用户是否下单。在…

作者头像 李华
网站建设 2026/5/1 6:47:34

Kafka 与大数据存储系统的完美融合方案

Kafka 与大数据存储系统的完美融合方案 关键词:Kafka、大数据存储、实时数据流、数据融合、分布式系统 摘要:在数字化时代,企业每天产生海量实时数据(如用户行为、IoT传感器、交易记录),这些数据需要“既快又稳”地被处理和存储。Kafka作为全球最流行的实时数据流平台,擅…

作者头像 李华
网站建设 2026/5/1 8:49:00

cv_resnet50_face-reconstruction VSCode Python环境配置详解

cv_resnet50_face-reconstruction VSCode Python环境配置详解 想在自己的电脑上跑通那个能从一张照片生成3D人脸的神奇模型吗?很多朋友在第一步——配置开发环境上就卡住了。网上的教程要么太零散,要么默认你已经是个Python老手,对新手一点都…

作者头像 李华
网站建设 2026/5/1 9:13:12

零基础教程:用亚洲美女-造相Z-Turbo一键生成惊艳人像

零基础教程:用亚洲美女-造相Z-Turbo一键生成惊艳人像 最近想用AI生成一些符合亚洲审美的精致人像,但发现很多模型要么对中文理解不好,要么生成的亚洲面孔总带着点“异域风情”,要么就是部署起来太复杂,对电脑配置要求…

作者头像 李华
网站建设 2026/5/1 7:57:06

小白必看!Cosmos-Reason1-7B推理工具保姆级使用教程

小白必看!Cosmos-Reason1-7B推理工具保姆级使用教程想用AI解决数学题、逻辑推理或编程问题,但担心隐私泄露或使用限制?这个纯本地运行的推理工具可能是你的最佳选择你是否遇到过这样的情况:遇到复杂的数学题需要一步步推理&#x…

作者头像 李华