一、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,指令间用“,”分隔。
Robots.txt 协议详解及使用说明-八韵网络工作室
共有四种组合:
<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、国内常见查找机器人的姓名