Robots.txt 协议详解及使用说明

一、Robots.txt协议

Robots协议,也称为爬虫协议、机器人协议等,其全称为“网络爬虫排除标准(Robots Exclusion Protocol)”。网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。也既是Robots的用法有两种,一种是告诉搜索引擎哪些页面你不能抓(默认其他的就可以抓);一种是告诉搜索引擎你只能抓取哪些页面(默认其他的不可以抓)。

 

当一个搜索机器人(蜘蛛)访问一个站点时,它会首先检查网站根目录下是否存在robots.txt,如果存在,就会按照文件中的内容确定访问范围,如果不存在,则沿着链接抓取。

 

协议的历史

 

Robots Exclusion Protocol协议是由 Martijn Koster 在1994年2月,于Nexor工作期间在 www-talk 邮件列表中提出的。该协议提出后,Koster的服务器甚至遭到了反对者的拒绝服务攻击。而该协议迅速成为事实上的标准,为大多数的人所接受。

 

文件的写法:

 

User-agent:*

*是一个通配符,表示所有的搜索引擎种类

Disallow:/admin/

这表示禁止搜索引擎爬寻admin目录下的内容

Disallow:*?*

这表示禁止搜索引擎爬寻包含?的网页

Sitemap:sitemap.xml

这里通过Sitemap指定固定的网站地图页面。目前对此表示支持的搜索引擎公司有Google, Yahoo, Ask and MSN。而中文搜索引擎公司,显然不在这个圈子内。这样做的好处就是,站长不用到每个搜索引擎的站长工具或者相似的站长部分,去提交自己的sitemap文件,搜索引擎的蜘蛛自己就会抓取robots.txt文件,读取其中的sitemap路径,接着抓取其中相链接的网页。

 

京东的Robots.txt。(时间:2015-11-25)

 

二、Robots.txt以外的内容

 

除了Robots.txt以外,还可以使用Robots Meta来向搜索引擎传递信息,先看示例如下:

<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">

content部分有四个选项:index、noindex、follow、nofollow,指令间用“,”分隔。

 

共有四种组合:

<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">

<META NAME="ROBOTS" CONTENT="NOINDEX,FOLLOW">

<META NAME="ROBOTS" CONTENT="INDEX,NOFOLLOW">

<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">

 

其中:

<META NAME="ROBOTS" CONTENT="INDEX,FOLLOW">可以写成<META NAME="ROBOTS" CONTENT="ALL">;

<META NAME="ROBOTS" CONTENT="NOINDEX,NOFOLLOW">可以写成<META NAME="ROBOTS" CONTENT="NONE">

 

目前看来,绝大多数的搜索引擎机器人都遵守robots.txt的规则,而对于Robots META标签,目前支持的并不多,但是正在逐渐增加,如著名搜索引擎GOOGLE就完全支持,而且GOOGLE还增加了一个指令“archive”,可以限制GOOGLE是否保留网页快照。例如:

<META NAME="googlebot" CONTENT="index,follow,noarchive">

表示抓取该站点中页面并沿着页面中链接抓取,但是不在GOOLGE上保留该页面的网页快照。

 

三、Robots.txt使用上应注意的一些问题

 

1、每当用户试图访问某个不存在的URL时,服务器都会在日志中记录404错误(无法找到文件)。每当搜索蜘蛛来寻找并不存在的robots.txt文件时,服务器也将在日志中记录一条404错误,所以你应该在网站中添加一个robots.txt。

 

2、如果后台和前台在一个域名下,不希望爬虫抓取后台程序的,可以在Robots.txt明确不让爬虫抓取的目录。但这会不会被某些恶意分子一下子就能够知道后台目录呢?

 

3、国内常见搜索机器人的名字

 

参考资料:

1、Robots协议

2、如何使用Robots及其详解

3、详细的Robots.txt学习方法

4、Robots Exclusion standard

5、The web robots page

时间: 2024-09-19 23:03:13

Robots.txt 协议详解及使用说明的相关文章

Robots.txt写法详解及注意事项

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 之前由写过"Robots"标签与robots.txt区别只是简单的对robots.txt作了下介绍,这里武汉seo闲人为大家详细的介绍下robots.txt写法详解及注意事项. 一.robots.txt是干什么用的 robots.txt写法详解及注意事项 一个网站中有很多个文件,其中包含了后台程序文件.前台模板文件.图片等

HTTP协议详解

HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发 展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出. HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式. 2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径.请求方法常用的有GET.HEAD.PO

Python中使用不同编码读写txt文件详解

  这篇文章主要介绍了Python中使用不同编码读写txt文件详解,本文给出不同编码下的读写文件代码方法,需要的朋友可以参考下 代码如下: import os import codecs filenames=os.listdir(os.getcwd()) out=file("name.txt","w") for filename in filenames: out.write(filename.decode("gb2312").encode(&q

SSL协议详解

SSL协议详解 背景介绍    最近在看<密码学与网络安全>相关的书籍,这篇文章主要详细介绍一下著名的网络安全协议SSL. 在开始SSl介绍之前,先给大家介绍几个密码学的概念和相关的知识. 1.密码学的相关概念 密码学(cryptography):目的是通过将信息编码使其不可读,从而达到安全性. 明文(plain text):发送人.接受人和任何访问消息的人都能理解的消息. 密文(cipher text):明文消息经过某种编码后,得到密文消息. 加密(encryption):将明文消息变成密文

[网络]HTTP协议详解

[简介]                                         HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出. HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式. 2.简单快速

HTTP协议详解(真的很经典)

HTTP协议详解(真的很经典) Author :清晨 引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出. HTTP协议的主要特点可概括如下: 1.支持客户/服务器模式. 2.简单快速:客户向服务器请求服务时,只需

JSP学习之------&amp;gt;HTTP协议详解

Author :Jeffrey  My Blog:http://blog.csdn.net/gueter/  引言                                        HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of

《Linux高性能服务器编程》——第3章 TCP协议详解 3.1 TCP服务的特点

第3章 TCP协议详解 TCP协议是TCP/IP协议族中另一个重要的协议.和IP协议相比,TCP协议更靠近应用层,因此在应用程序中具有更强的可操作性.一些重要的socket选项都和TCP协议相关. 本章从如下四方面来讨论TCP协议: 不过在详细讨论TCP协议之前,我们先简单介绍一下TCP服务的特点,以及它和UDP服务的区别. 3.1 TCP服务的特点 传输层协议主要有两个:TCP协议和UDP协议.TCP协议相对于UDP协议的特点是:面向连接.字节流和可靠传输. 使用TCP协议通信的双方必须先建立

TCP协议详解(理论篇)

本文章摘自红黑联盟 http://www.2cto.com/net/201208/149347.html 供大家学习交流 TCP协议详解 1.    与UDP不同的是,TCP提供了一种面向连接的.可靠的字节流服务.面向连接比较好理解,就是连接双方在通信前需要预先建立一条连接,这犹如实际生活中的打电话.助于可靠性,TCP协议中涉及了诸多规则来保障通信链路的可靠性,总结起来,主要有以下几点:       (1)应用数据分割成TCP认为最适合发送的数据块.这部分是通过"MSS"(最大数据包长