IIS 网站限制爬虫抓取频次限制 robots.txt 文件 ,如果网站的带宽流量过高,一般都是爬虫搞的鬼,如果不加限制会影响正常网站运行以及用户体验。但有点爬虫可能无视这一规则,就要另求他法,找到爬虫的IP,然后让服务器拒绝此IP的访问。
robots.txt 是一个纯文本配置文件,放置在网站根目录下,用于告知搜索引擎爬虫哪些页面可以抓取、哪些页面禁止抓取,是网站与爬虫之间的 “协议”(无强制约束力,恶意爬虫可绕过)。
必须放在网站根目录(如 IIS 站点的 wwwroot 文件夹),访问路径为 https://yourdomain.com/robots.txt,爬虫会自动读取。
指令 作用 示例
User-agent 指定适用的爬虫标识,* 代表所有爬虫 User-agent: Baiduspider / User-agent: *
Allow 允许爬虫访问的路径 Allow: /article/(允许抓取文章目录)
Disallow 禁止爬虫访问的路径 Disallow: /admin/(禁止抓取后台目录)
Crawl-delay 爬虫两次请求的最小间隔时间(单位:秒) Crawl-delay: 5(间隔 5 秒)
Sitemap 告知爬虫网站地图的位置,帮助爬虫快速索引 Sitemap: https://yourdomain.com/sitemap.xml
User-agent: *
Crawl-delay: 3
Allow: /
User-agent: *
表示该规则适用于所有爬虫(* 是通配符,匹配任意爬虫的 User-agent 标识)。
**Crawl-delay: 3
** 要求爬虫在发送两次请求之间,至少间隔 3 秒。
作用:避免爬虫短时间内高频请求,减轻服务器压力。
注意:部分爬虫(如百度、谷歌的部分爬虫)可能不严格遵守该指令,需结合 IIS 爬虫限制功能(如 IP 限流)辅助管控。
Allow: /
允许爬虫访问网站的所有目录和页面(/ 代表网站根目录)。
若你需要限制特定目录(如后台 /admin),可添加 Disallow 规则,示例:
plaintext
User-agent: *
Crawl-delay: 3
Allow: /
Disallow: /admin/
Disallow: /api/private/
若要针对某一特定爬虫(如百度爬虫)单独设置规则,可指定 User-agent,示例:
plaintext
# 针对百度爬虫
User-agent: Baiduspider
Crawl-delay: 2
Allow: /
# 针对其他所有爬虫
User-agent: *
Crawl-delay: 5
Allow: /
Disallow: /admin/
robots.txt 仅为爬虫协议,不具备强制约束力,恶意爬虫可能会绕过该规则,需配合 IIS 的 IP 黑名单、请求频率限制等功能加强防护。