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

简介: 一、Robots.txt协议 Robots协议,也称为爬虫协议、机器人协议等,其全称为“网络爬虫排除标准(Robots Exclusion Protocol)”。网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。
一、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、国内常见搜索机器人的名字
 
参考资料:
相关文章
|
PHP
php函数file_get_contents无法获取到https链接内容问题使用curl的解决方案
php函数file_get_contents无法获取到https链接内容问题使用curl的解决方案
157 0
robots.txt文件示例
robots.txt文件示例
107 0
|
Web App开发 搜索推荐 应用服务中间件
|
前端开发 搜索推荐 PHP
robots是什么?robots.txt怎么写?效果才好呢
一、啥是robots.txt? robots是网页和应用软件备忘录的纯文本公文,当两个应用软件青蛙来到访停靠站的时侯,首先两栖类复查根产品目录是否普遍存在这个公文。除非普遍存在假如,那么就会根据公文的以下内容来确定到访范围,除非没更有甚者话青蛙就会沿镜像进行截取,robots置于项目的根产品目录下。 robots是啥?robots.txt怎么写? BLOG瞳子 BLOG.tongziol.net
210 0
robots是什么?robots.txt怎么写?效果才好呢
|
数据采集 搜索推荐 机器人
|
缓存 搜索推荐 前端开发
Robots.txt协议文件你了解多少,最详细的Robots.txt协议解读
Robots.txt协议文件你了解多少,最详细的Robots.txt协议解读在这,很多站长即使知道robots协议是干什么,但对于其深入的机制并没有了解,因此这里有必要说明一下。
Robots.txt协议文件你了解多少,最详细的Robots.txt协议解读
|
搜索推荐 机器人
robots.txt概念和10条注意事项
robots.txt概念 如果我们网站内有某些特殊的文件不让搜索引擎收录,那怎么办? 答案是:使用一个叫做robots.txt的文件。 robots.txt文件告诉搜索引擎本网站哪些文件是允许搜索引擎蜘蛛抓取,哪些不允许抓取。 搜索引擎蜘蛛访问网站任何文件之前,需先访问robots.txt文件,然后抓取robots.txt文件允许的路径,跳过其禁止的路径。
275 0
|
索引 数据采集 搜索推荐
robots协议标准
    前两天刚知道用爬虫抓取page有个协议的问题,尤其是对于open source的爬虫,刚看到一篇blog,写的就是如此,难怪之前看google的robots也和另外一个U.S.的网站相同,感情是大家都商量好了, 可能这方面中国的一些站点这种意识要稍微淡一点。
939 1
|
搜索推荐 索引 定位技术
搜索引擎篇:网站根目录 “robots.txt” 文件写法
robots.txt写法。添加sitemap链接。 搜索引擎会优先读取sitemap.xml文件,如果没有就逐个抓取URL。
1768 0
|
搜索推荐 机器人