一、简介

Robots 协议(也称为爬虫协议、机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过 Robots 协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取。robots.txt 是搜索引擎访问网站的时候要查看的第一个文件。

当一个爬虫访问一个站点时,它会首先检查该站点根目录下是否存在 robots.txt,如果存在,爬虫就会按照该文件中的内容来确定访问的范围;如果该文件不存在,爬虫将能够访问网站上所有没有被口令保护的页面。百度官方建议,仅当您的网站包含不希望被搜索引擎收录的内容时,才需要使用 robots.txt 文件。如果您希望搜索引擎收录网站上所有内容,请勿建立 robots.txt 文件。但 robots.txt 是一个协议而不是命令,也不是防火墙,无法阻止恶意闯入者。

表面来看,这个功能作用有限。从搜索引擎优化的角度来看,可以通过屏蔽页面,达到集中权重的作用,这也是优化人员最为看重的地方。另外屏蔽一些网站中比较大的文件,如:图片,音乐,视频等,节省服务器带宽。设置网站地图连接,方便引导蜘蛛爬取页面。

二、写法

robots.txt 文件放置在网站的根目录,文件名必须为小写字母。所有的命令第一个字母需大写,其余的小写。且命令之后要有一个英文字符空格。

先来看下淘宝的robots.txt的例子,http://www.taobao.com/robots.txt

User-agent:  Baiduspider

Allow:  /article

Allow:  /oshtml

Disallow:  /product/

Disallow:  /

User-Agent:  Googlebot

Allow:  /article

Allow:  /oshtml

Allow:  /product

Allow:  /spu

Allow:  /dianpu

Allow:  /oversea

Allow:  /list

Disallow:  /

User-agent:  Bingbot

Allow:  /article

Allow:  /oshtml

Allow:  /product

Allow:  /spu

Allow:  /dianpu

Allow:  /oversea

Allow:  /list

Disallow:  /

User-Agent:  360Spider

Allow:  /article

Allow:  /oshtml

Disallow:  /

User-Agent:  Yisouspider

Allow:  /article

Allow:  /oshtml

Disallow:  /

User-Agent:  Sogouspider

Allow:  /article

Allow:  /oshtml

Allow:  /product

Disallow:  /

User-Agent:  Yahoo!  Slurp

Allow:  /product

Allow:  /spu

Allow:  /dianpu

Allow:  /oversea

Allow:  /list

Disallow:  /

User-Agent:  *

Disallow:  /

User-agent表示定义哪个搜索引擎。User-agent 记录至少要有一条。

User-agent: Baiduspider,定义百度蜘蛛。

User-agent: * 定义所有所搜引擎。

Disallow表示禁止访问。

Disallow:  /product/ 表示禁止爬取 product 目录下的目录。

Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的网址。

Disallow: /help 禁止访问/help*.html 和 /help/index.html

Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址。

Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的图片。

Allow表示允许访问,写法同 Disallow。

Allow: .htm$ 仅允许访问以".htm"为后缀的URL。

Sitemap网站地图,告诉爬虫这个页面是网站地图

Crawl-delay表示抓取网页的时间间隔,单位秒

Crawl-delay: 10

三、哪些时候需要使用该协议。

无用页面,很多网站都有联系我们,用户协议等页面,这些页面相对于搜索引擎优化来讲,作用不大,此时需要使用 Disallow 命令禁止这些页面被搜索引擎抓取。

动态页面,企业类型站点屏蔽动态页面,有利于网站安全。且多个网址访问同一页面,会造成权重分散。因此,一般情况下,屏蔽动态页面,保留静态或伪静态页面。

网站后台页面,网站后台也可以归类于无用页面,禁止收录有百益而无一害。

爬虫协议 Tobots的更多相关文章

  1. 爬虫协议robots

    前面的话 Robots协议(也称为爬虫协议.机器人协议等)全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页 ...

  2. Robots协议(爬虫协议、机器人协议)

    Robots协议(也称为爬虫协议.机器人协议等)的全称是“网络爬虫排除标准”(Robots Exclusion Protocol),网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓 ...

  3. Natas3 Writeup(爬虫协议robots.txt)

    Natas3: 页面提示本页面什么都没有. 在源码中发现提示:无信息泄露,谷歌这次不会发现它.提到了搜索引擎,猜测爬虫协议robots.txt中存在信息泄露,访问网站爬虫协议http://natas3 ...

  4. PYTHON网络爬虫与信息提取[网络爬虫协议](单元二)

    robots.txt在网站的根目录下 遵守 自动或人工识别robots.txt再进行内容爬取 约束性:建议性,不遵守协议,存在法律风险. 基本语法: User-agent: * Disallow: / ...

  5. 2.爬虫 urlib库讲解 异常处理、URL解析、分析Robots协议

    1.异常处理 URLError类来自urllib库的error模块,它继承自OSError类,是error异常模块的基类,由request模块产生的异常都可以通过这个类来处理. from urllib ...

  6. [Python3网络爬虫开发实战] 3.1.4-分析Robots协议

    利用urllib的robotparser模块,我们可以实现网站Robots协议的分析.本节中,我们来简单了解一下该模块的用法. 1. Robots协议 Robots协议也称作爬虫协议.机器人协议,它的 ...

  7. 网络爬虫与web之间的访问授权协议——Robots

    网站的管理者们通常会有这样一种心态:一方面期待百度.Google这样的搜索引擎来抓取网站的内容,另一方面又很厌恶其他来路不明的网络爬虫抓取自己的信息.正是因为这样,才有“好爬虫”.“坏爬虫”这样的说法 ...

  8. 【原】小玩node+express爬虫-1

    最近开始重新学习node.js,之前学的都忘了.所以准备重新学一下,那么,先从一个简单的爬虫开始吧. 什么是爬虫 百度百科的解释: 爬虫即网络爬虫,是一种自动获取网页内容的程序.是搜索引擎的重要组成部 ...

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

    一.Robots.txt协议 Robots协议,也称为爬虫协议.机器人协议等,其全称为“网络爬虫排除标准(Robots Exclusion Protocol)”.网站通过Robots协议告诉搜索引擎哪 ...

随机推荐

  1. The First of my text

    JavaScript 学习第一天 一.属性可以动态拓展 例如: var person = { name : "zs"; age : 21; } person.sex = " ...

  2. [POJ2823]Sliding Window 滑动窗口(单调队列)

    题意 刚学单调队列的时候做过 现在重新做一次 一个很经典的题目 现在有一堆数字共N个数字(N<=10^6),以及一个大小为k的窗口.现在这个从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗 ...

  3. springmvc ajax tomcat简单配置实现跨域访问

    发现一种改动最小也能实现跨域请求的方法 服务端 服务端修改web.xml配置文件, 增加过滤器 (不用导入任何jar包, 用的tomcat自带jar) <!-- 支持跨域请求 --> &l ...

  4. h5软键盘挡住输入框问题解决(android)

    问题 移动端浏览器中的表单在部分android机型上测试,点击靠下的输入框时会遇到弹出的软键盘挡住输入框问题 ios可自身弹起(ios自身的调整偶尔也会出问题,例如第三方键盘会遮挡,原因是第三方输入法 ...

  5. 面试题:int和Integer的区别

    java底层源码:  -128  127之间

  6. lvm快照备份数据库(Mysql5.7)

    备份的目的 能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方. 备份的分类 以操作过程中服务的可用性分: 冷备份:cold backup mysql服务关闭,mysq ...

  7. js将一篇文章中多个连续的<br>标签替换成两个连续的<br>标签

    写本文的目的是今天恰好有一个之前做SEO的同事问我怎样把一篇文章中多个连续的br标签替换成两个连续的br标签,这里就牵涉到SEO层面的问题了. 在做SEO优化的时候,其中有一个需要注意的地方就是尽量减 ...

  8. Charles抓包软件简介

    Charles简介: Charles是一款抓包神器,因为他是基于 java 开发的,所以跨平台,Mac.Linux.Window下都是可以使用的,确保安装之前已经安装了JDK.Charles官网地址: ...

  9. tyflow车撞墙测试

  10. 我用linux系统的采坑记

    我的新Ubuntu18,也没安装什么,但是在使用过程中总是莫名其妙的卡死,真的很烦.有时候cpu使用率接近100%,有时候貌似是内存不够了,但是我明明是8GB,这些小问题搞得我很恼火.这样的机器真的不 ...