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

摘要:
该网站通过Robots协议告诉搜索引擎哪些页面可以被抓取,哪些页面不能被抓取。RobotsExclusionProtocol协议的历史由Martijn Koster于1994年2月在Nexor工作期间在www talk邮件列表中提出。
一、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 协议详解及使用说明第1张
 
二、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、国内常见搜索机器人的名字
Robots.txt 协议详解及使用说明第2张
 
参考资料:
1、Robots协议
2、如何使用Robots及其详解
3、详细的Robots.txt学习方法
4、Robots Exclusion standard
5、The web robots page

免责声明:文章转载自《Robots.txt 协议详解及使用说明》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Python+OpenCV图像处理之图像直方图Springcloud之Zuul网关入门下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

jdk/java版本与Android源码编译中的错误

错误一:javap未指向有效的java版本 Traceback (most recent call last): File "../../base/android/jni_generator/jni_generator.py", line 1065, in <module> sys.exit(main(sys.argv)) Fi...

Drozer渗透测试工具(使用篇)

一、前言 这里主要以sieve.apk为测试应用,来展示Drozer的功能点,起到一个抛砖引玉的作用 二、获取所要测试的apk的完整包名 命令:run app.package.list -f 包名关键字示例:run app.package.list -f sieve 可见,sieve.apk的完整包名为:com.mwr.example.sieve,可为后面...

Elastic Stack之搜索引擎基础

Elastic Stack之搜索引擎基础 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.搜索引擎概述 1>.什么是搜索引擎 搜索引擎(Search Engine)是指根据一定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展示给用户的系统。搜索引擎包括全文索引、...

Java 审计 之过滤器防御xss

Java 审计 之过滤器防御xss 0x00 前言 本文从攻击与防守两个角度来思考一些审计中的小细节。在前面两篇的xss审计中,写少了一个比较重要的点,就是Filter过滤器。都说Java的审计第一步就是先看web.xml,能看到该cms使用的是哪些框架来进行开发。其次就是看其有没有配置的一些过滤器。 审计文章: Java审计之XSS篇 Java 审计之x...

从HTML文件中提取正文的简单方案

http://www.basesnet.com/seo/53从HTML文件中提取正文的简单方案2012-03-07/SEO/HTML文件,提取正文,简单方案/ 1 多种基于html正文提取的思想 一、基于统计的中文网页正文抽取的研究 摘要:信息抽取技术是一种广泛运用于互联网的数据挖掘技术。其目的是从互联网海量数据中抽取有意义、有价值的数据和信息,从而能...

css之 斜线

方案一 .x { border: solid 1px red; width: 100px; height: 100px; position: relative; background-color: transparent;...