什么是robots.txt文件?

・3 分钟阅读

Robots.txt是网站管理员创建的文本文件,用于指示网络机器人(通常是搜索引擎机器人)如何抓取它网站上的网页。Robots.txt文件是机器人排除协议(REP)的一部分,该协议是一组Web标准,用于管理机器人如何抓取网络,访问和索引内容,以及将内容提供给用户。REP还包括指令meta机器人,以及关于搜索引擎应如何处理链接的页面,子目录或站点范围的说明(例如,"follow "或"nofollow ")。

在实际中 Robots.txt文件表明某些user agents(网络爬行软件)是否可以抓取网站的某些部分。这些爬网指令由"disallowing "或"允许"某些(或所有)user agents的行为指定。

基本格式:

User-agent: [user-agent name]
Disallow: [URL string not to be crawled]

这两行被认为是一个 完整Robots.txt文件 —虽然一个机器人文件可以包含多行用户代理和指令即 ,disallows , allows , crawl-delays,等等)。

在Robots.txt文件里 每个USER-AGENT指令集显示为一个离散集,由换行符分隔:

User agent directives specified by line breaks.

在带有多个USER-AGENT指令的Robots.txt文件中,每个命令都disallow或allow规则,仅适用于该特定行分隔符集中指定的useragent。如果该文件包含一个规则,该规则 适用于多个user-agent,爬虫将会只 注意(并按照下面的指令) 最具体 指令组。

这里有的例子:

Robots.txt.png?mtime=20170427090303#asset:5201:large

Msnbot,discobot和Slurp都是专门写的的,所以,那些user-agents会只 注意Robots.txt文件节中的指令,所有其他用户代理都将遵循USER-AGENT中的指令: *组。

示例robots.txt :

下面是一些Robots.txt的实际操作示例 www.example.com 站点:

Robots.txt文件URL : www.example.com/robots.txt
阻止所有内容的所有网页爬虫

User-agent: * 
Disallow: /

在Robots.txt文件中使用此语法会告诉所有Web爬网程序不要抓取任何页面,www.example.com,包括主页。

允许所有网站爬虫访问所有内容

User-agent: * 
Disallow: 

在Robots.txt文件中使用这个语法会告诉网络爬虫抓取www.example.com上的所有页面,包括主页。

将特定的网络爬虫从特定文件夹

User-agent: Googlebot 
Disallow: /example-subfolder/

这个语法只告诉谷歌(USER-AGENT名称Google bot )不抓取任何包含URL字符串www.example.com/example-subfolder/的页面。

将特定网页爬虫从特定网页

User-agent: Bingbot
Disallow: /example-subfolder/blocked-page.html

这种语法只告诉Bing (USER-AGENT名称Bing )的爬虫避免在www.example.com/example-subfolder/blocked-page中爬行特定页面。

190929089 profile image