一、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

Robots.txt 协议详解及使用说明相关推荐

  1. robots.txt文件详解

    我们知道,搜索引擎都有自己的"搜索机器人"(ROBOTS),并通过这些ROBOTS在网络上沿着网页上的链接(一般是http和src链接)不断抓取资料建立自己的数据库. 对于网站管理 ...

  2. 搜索引擎蜘蛛及网站robots.txt文件详解

    搜索引擎都有自己的"搜索机器人"(ROBOTS),并通过这些ROBOTS在网络上沿着网页上的链接(一般是http和src链接)不断抓取资料建立自己的数据库. 对于网站管理者和内容提 ...

  3. zz:NETCONF协议详解

    随着SDN的大热,一个诞生了十年之久的协议焕发了第二春,它就是NETCONF协议.如果你在两年前去搜索NETCONF协议,基本得到的信息都是"这个协议是一个网管协议,主要目的是弥补SNMP协 ...

  4. 【计算机网络面试高频】-HTTP协议详解,HTTP协议常见问题

    4.HTTP协议详解有关问题 4.1 HTTP请求 一个HTTP请求报文由请求行.请求头部.空行和请求数据四个部分组成. 1.请求行 请求行中有请求方法字段.URL字段和HTTP协议版本3个字段组成. ...

  5. bt协议详解 基础篇(上)

    bt协议详解 基础篇(上) 最近开发了一个免费教程的网站,产生了仔细了解bt协议的想法,所以写了这一篇文章,后续还会写一些关于搜索和索引的东西,都是在开发这个网站的过程中学习到的技术,敬请期待. 1 ...

  6. Telnet协议详解及使用C# 用Socket 编程来实现Telnet协议 - Atpking - 博客园

    Telnet协议详解及使用C# 用Socket 编程来实现Telnet协议 - Atpking - 博客园 Telnet协议详解及使用C# 用Socket 编程来实现Telnet协议 - Atpkin ...

  7. NETCONF协议详解

    目录 目录 概述 NETCONF11协议详解 1 安全传输层 2 消息层 21 hello 211 几种常用的能力 22 rpc和rpc-reply 23 notification 3 操作层 31 ...

  8. TCP /IP协议详解【转】

    转自:https://www.jianshu.com/p/0cf648510bce?utm_campaign=maleskine&utm_content=note&utm_medium ...

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

    转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...

最新文章

  1. Android与H5交互
  2. python 高阶函数之 reduce
  3. linux 连接 android,linux下android连接真机测试
  4. Leetcode每日一题:62.unique-paths(不同路径)
  5. Citrix小贴纸---连接XenAPP时协议驱动程序错误
  6. Android jni动态注册
  7. MongoDb数据库连接工具
  8. 华为USG防火墙恢复密码步骤
  9. 深入浅出Meta Learning - 让机器学会如何去学习
  10. HibernateDaoSupport和nbsp;Hiber…
  11. 商品订单库存一致性问题的思考
  12. 技术人员近业务,会困死在一条船上吗?
  13. [BZOJ 1778][Usaco2010 Hol]Dotp 驱逐猪猡
  14. 农学跨专业考研计算机,我是如何完成从农学(本科)-理学(硕士)-工学(博士)的跨专业之路 - 考研 - 小木虫 - 学术 科研 互动社区...
  15. 【Bug】无法访问Windows Installer服务
  16. 【精品推荐】程序员必定会爱上的十款软件:不用就太浪费了
  17. 2022全新微信公众号无限回调授权系统源码
  18. iOS Main.string国际化不起作用
  19. 张飞实力电子经验(电子学习心路,创业心得)
  20. 学习日记——蜂鸣器开关实例(FPGA)

热门文章

  1. 体验AJAX Toolkit新控件:AutoCompleteExtender
  2. FileInputStreamTest
  3. mysql sumif条件求和_sumif与sumifs条件求和函数详解,小白到大神的必经之路
  4. 详解TCP协议三次握手四次挥手
  5. Redis基础-下载安装配置
  6. linux查看xml文件的配置,3、kvm虚拟机日常管理与配置
  7. 遍历列表python_Python 遍历List的三种方法
  8. jpa mysql脚本迁移_JPA通过LOAD DATA LOCAL INFILE大批量导入数据到MySQL
  9. Linux crontab 定时任务没执行,没收到错误信息邮件
  10. SpringCloud Ribbon实战(二)