爬虫协议 Tobots

一、简介

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 命令禁止这些页面被搜索引擎抓取。

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

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏along的开发之旅

cmake-tutorial cmake入门指引

Below is a step-by-step tutorial covering common build system use cases that CMa...

7620
来自专栏中科院渣渣博肆僧一枚

计算机视觉邻域论文查找方法

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

14320
来自专栏公众号文章

如何使用beego快速开发web系统【Golang 入门系列十三】

接着之前的内容,前面已经讲过很多Golang的基础语法,mysql的使用,redis的使用,也讲了orm框架,如何创建一个webapi 服务等等,感兴趣的可以看...

13040
来自专栏Java猫说

Netty自动重连机制的Demo

官方案例地址:https://netty.io/4.1/xref/io/netty/example/uptime/package-summary.html

8120
来自专栏WD学习记录

RestTemplate学习

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

7010
来自专栏毛利学Python

Django项目开发(二)

上次搭建的django环境,这次来真正的实战开发,项目是比较老的图书管理系统,对于django来说只是一个Hello,world的项目,django的世界比你想...

13570
来自专栏前端一会

webpack4:css/sass编译优化分离,处理引用资源

在上篇中,解决了webpack4关于多页面及分离第三方库js和共用自定义库js的配置,本篇将以此为基础继续配置css引入、分离等功能。

29020
来自专栏前端一会

webpack4:多页面及分离第三方库和公用文件配置

本篇开始学习webpack打包的构建配置,所用版本为webpack 4.16.1和webpack-cli 3.2.3。

27640
来自专栏码神路漫漫

Go 回答之如何阅读 Go 源码

Go 的源码在安装包的 src/ 目录下。怎么看它的源码呢?直接看吧!没人教的情况下,只能自己撸了。当然,这种内容一般也不会有人教。

13430
来自专栏JetpropelledSnake

Python学习笔记之使用 python -m SimpleHTTPServer 快速搭建http服务

搭建FTP,或者是搭建网络文件系统,这些方法都能够实现Linux的目录共享。但是FTP和网络文件系统的功能都过于强大,因此它们都有一些不够方便的地方。比如你想快...

13150

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励