robots.txt 是网站根目录下的文本文件,用来告诉搜索引擎爬虫哪些页面可以抓取、哪些禁止抓取,标准位置永远在网站域名根目录。
1、直接访问标准地址
格式:域名/robots.txt
示例:
https://www.baidu.com/robots.txthttps://github.com/robots.txt
规则:必须放在根目录,子目录下的 robots.txt 不会生效
❌ 错误:
shturl.cc/KA1uAisZGpVzYioUou7I7爬虫不会读取这个
访问结果几种情况
正常返回文本:成功拿到 robots.txt,里面是
User-agent、Allow、Disallow、Sitemap指令。404 Not Found:网站没有部署 robots.txt,爬虫默认全部页面允许抓取。
403 Forbidden:文件存在,但服务器禁止访问;爬虫依然会遵循该文件(浏览器看不了,蜘蛛可以读取)。
重定向跳转:部分网站会重定向到其他页面,说明没有有效的 robots.txt。
返回 HTML 网页而不是纯文本:这不是合法的 robots.txt。
2、robots.txt 核心语法识别(看懂内容)
txt
# 注释,#开头
User-agent: * # * 代表对所有搜索引擎爬虫生效
Disallow: /admin/ # 禁止抓取 /admin 下全部内容
Allow: /admin/public # 例外,允许抓取该子路径
Sitemap: shturl.cc/vz6cJTB3t521K7LSq # 给爬虫提交站点地图地址
User‑agent:指定爬虫名称,例如User‑agent: Googlebot只针对谷歌爬虫Disallow:后面为空Disallow:= 允许全部抓取Disallow: /= 禁止抓取网站全部内容
⚠️重要提醒:robots.txt 不是安全防护! 只是君子协议,恶意爬虫会直接无视它,不能用来防黑客爬敏感数据。
3、工具快速查看 robots.txt
浏览器:直接输入上面的 url 访问;F12 看响应头,确认返回 Content‑Type 是
text/plain,html 类型是无效文件。Google 搜索控制台、站长平台,输入域名可检测 robots.txt 有效性。
在线工具:robots.txt 检测校验工具,可校验语法是否写错。
4、常见误区
❌ robots.txt 写了 Disallow,网页依然会被搜索引擎收录:如果别的网站外链指向这个页面,搜索引擎仍可能收录,只是不去抓取内容。想要彻底不索引,需要页面加
noindexmeta 标签或者 HTTP 响应头。❌ 放到子文件夹就生效:只有根目录
/robots.txt才被标准爬虫识别。❌ 文件名大小写:标准是全小写
robots.txt,Robots.TXT 很多爬虫识别失败。
5、程序代码如何自动探测 robots.txt
逻辑步骤:
提取网站的主域名(协议 + host),拼接路径
/robots.txtGET 请求该地址
判断 HTTP 状态码:
200:读取响应文本,解析规则
404:不存在,无限制
403:文件存在但拒绝浏览器访问,爬虫仍会解析
非 2xx 状态码,视作没有有效 robots.txt。
示例 curl 命令测试:
curl https://example.com/robots.txt本文原创作者:易君召,详见:https://www.yijunzhao.cn/authors/yijunzhao,转载请注明出处。
原文链接
欢迎访问 小易撩挨踢