Robots协议

Robots协议

什么是robots?

Robots文件:网站和搜索引擎之间的一个协议。

用来防止搜索引擎抓取那些我们不想被搜索引擎看到的隐私内容。

Robots文件告诉蜘蛛什么是可以被查看的。

Robots是蜘蛛爬行网站第一个要访问的文件。

一:搜索引擎蜘蛛爬虫的原理

网络蜘蛛是通过网页的链接地址来寻找网页,从网站某一个页面(通常是首页)开始,读取网页的内容,找到在网页中的其他链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。

当我们不想让搜索引擎抓取,我们该怎么做呢?于是就有了一个Robots协议,早期是为了防止搜索引擎抓取一些隐私的页面。

比如你做淘宝客类型的网站,这种肯定不能让蜘蛛抓取到。百度对淘宝客类型的网站打击是很严厉的,只要是淘宝类型的链接,百度一旦发现,直接把你的网站给K掉。

做淘宝客类型的网站,我们一般是把产品放到内页,然后禁止蜘蛛爬取这个页面。

例子:

我曾经在2010年的时候做过一个淘宝客的网站(祛痘产品的),做了5个月,期间网站收录了又被K掉,然后我又把它做上去,然后又被K掉,反复3次,实在受不了了。本来想把这个站丢掉,但是付出了精力时间,放弃又太可惜了。我就上网搜索资料,然后联系同行的朋友,后边知道淘宝客类型的网站,百度打击很严重。他们做淘宝客网站,链接都是做了处理的,而且通过Robots来控制蜘蛛禁止抓取。后边按照这个思路,我把我的网站的链接进行了处理,然后进行了Robots抓取的处理,后边这个站盈利还是不错的。

二:什么是Robots协议?

Robots协议,他不是一个命令,而是一个指令。事实上,当你对网站进行robots屏蔽后,他不会马上就采取行动,他是一个单方面协议,蜘蛛可以听从,也可以不听从!

大家需要注意,设置robots后,并不会像我们想象的那样马上生效,短则几天生效,长则4周以上才能生效。

Robots.txt的写法

一:Robots.txt语法

要想正确的使用robots,就要学会怎么写robots,写法并不难,下面就跟大家说说robots的写法和一些注意事项。

常用符号:

User-agent:定义搜索引擎的类型

Disallow:定义禁止搜索引擎收录的地址

Allow:定义允许搜索引擎收录的地址

*:匹配0或多个任意字符

$:匹配行结束符

二:Robots 语法解析

1.User-agent:是定义搜索引擎的。如果定义所有搜索引擎,就用User-agent:*,如果想定义百度蜘蛛的话,User-agent:Baiduspider。

以淘宝网为例子:

www.taobao.com/robots.txt

淘宝网屏蔽了百度蜘蛛对淘宝网站内页的提取。

由于全球互联网上蜘蛛有近200个品种,我们只要记住常用的几个就行:

百度蜘蛛:Baiduspider

谷歌机器人:Googlebot

雅虎蜘蛛:Mozilla

微软bing蜘蛛:msnbot

soso的蜘蛛:sosospider

360蜘蛛:360Spider

2.Disallow:是禁止搜索引擎抓取的意思。

注意:/表示根目录,代表网站所有的目录。斜杠的方向不要弄错了哦。

例如,想针对所有搜索引擎屏蔽这么一个路径www.xxxx.com/help/index.html,那写法可以是下面这样:

Uuser-agent:*

Disallow: /help/index.html

3.Allow:是允许的意思,但需要注意,他的使用一般都是结合Disallow一起用的。

加上Disallow后,意思是:除了可以爬取这个外,其余的都禁止爬取。

例如:www.xxxx.com/help/目录下有很多文件不想让蜘蛛抓取,只要蜘蛛抓取其中的index.html页面,那么,写法如下:

User-agent:*

Disallow:/help/

Allow:/help/index.html

或者

User-agent:*

Allow:/help/index.html

Disallow:/help/

4,*:通配符,匹配零或者多个任意字符。通配符的出现,让robots.txt代码更加精简,用更少的代码能够达到同样的效果。假如出现下面多个URL地址不想给蜘蛛抓取,他们又有相同的规律,那么我们就可以用*号来进行统一屏蔽。

www.xxxx.com/books?34f34q=fskdjf

www.xxxx.com/books?34f43q=fskdf

www.xxxx.com/books?3443fq=fkddsssaf2

www.xxxx.com/books?4333q=fskysd

Robots的写法如下:

User-agent:*

Disallow:/books?*q=*

这样写,是不是很简单啊!

5.$:是结束符。(所有以它结尾的都能够进行匹配。)

很多网站对于一些统一不想要蜘蛛抓取的内容就可以用到$。例如禁止Baiduspider抓取网站上所有的jpg图片。

User=agent:*

Disallow:/*jpg$

三robots使用重点:

1.robots文件必须是TXT格式而且必须是小写,文件名字也不能变。

2.robots文件必须放到站点的根目录。(例如:www.xxxx.com/robots.txt)

3.robots文件中的语法,首字母必须大写

4.每行只能写一个语法,不能挨着写,写下一个语法的时候,必须换行。

例如:Disallow     Allow         

5冒号后边要有空格   例如: Disallow: /

6.User-agent 放在第一,起到定义搜索引擎的作用,意思就是之后的语法是针对User-agent定义对应的搜索引擎的。

7./ 单一的斜杠代表根目录,如果是www.xxxx.com/help/a/

这种的意思就代表在www.xxxx.com这个网址下边的help目录下边的a目录下边的所有东西。

为什么要写这个robots?

蜘蛛访问站的时候首先看有没有这个文件,没有的话,就访问你的全部文件。有的话,先访问robots

1.蜘蛛访问一个网站首先是看robots.txt文件

第二,robots.txt能够屏蔽站内死链接

在robots中可以写入网站地图,让蜘蛛更快的爬取你的网站。

以前在做SEO的时候,都是把网站地图放到一个一个搜索引擎上去,让搜索引擎更好的收录,现在有了更好的方法,把网站地图写进robots能更好的让蜘蛛来爬取

举例:

User-agent: *

意思是定义搜索引擎的名字。

Disallow: /plus/ad_js.php 

Disallow的意思是禁止。

此句代码是禁止任何蜘蛛来爬服务器下边plus文件下的js.php这个文件

Allow: /

Allow的意思是允许。

Disallow和Allow后边必须要有/。而且单词必须首字母大写。

切记:不要把后台路径写入robots。容易暴露你的后台路径。

Disallow: / 拦截所有的机器人访问网站

一般黄色网站都是这样写,屏蔽所有蜘蛛爬取。

http://www.360buy.com/robots.txt 这个是京东的网站。

Disallow: /?*

这个代码意思是屏蔽带?的所有URL。

京东屏蔽了所有蜘蛛的爬取,他做自己的品牌,不允许别人来抓取。信息对自己很重要的,品牌很大的,不需要蜘蛛来爬

蜘蛛爬取网站时间

上午8-11点,下午 4-6点,晚上 10-12点

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

jAVA发展历程

1991 绿色计划 (Green Project) 1991年1月 一个名为“Green Project”的项目启动。该项旨在为家用电器提供支持,使这些电器智能...

38011
来自专栏大数据文摘

数学之美:图论和网络爬虫

2544
来自专栏生信技能树

【直播】我的基因组46:SNV突变(96种)频谱的制作

昨天我们学习了正常情况下,6种SNV(C>A, C>G, C>T, T>A, T>C, T>G)突变频谱的制作,但是如果考虑到突变的上下文,就可以变成96种(如...

3217
来自专栏牛客网

上海壹钱包一面

1270
来自专栏诸葛青云的专栏

5天赚十亿!纯C/C++打造“西虹市首富”

有人就说了,小编你挣着卖白菜的钱就不要操着卖白粉的心了好吗?银行存款有多少心里没点数吗?

1023
来自专栏程序人生

浪费内存?多大个事?

遥想盖子当年,MS 红火了,谈笑间,640k 内存足矣。 - 程序君 现在已经不是从指缝中扣内存的时代了。bit 在主流的解释型语言中要么失了踪迹,要么被作为...

2798
来自专栏牛客网

京东金融一面+滴滴一面

1745
来自专栏机器人网

【机器人小知识】机器人主要参数介绍

重复定位精度、可动范围、手部负载,这些术语究竟代表些什么?本篇将要介绍的是机器人的主要参数,看完后相信你会对机器人参数不再陌生。 手部负载条件 使用机器人时应保...

2615
来自专栏知晓程序

如何取个好名字?这种「技术活」就交给它吧

看到身边的人,随便画个鬼画符都是 SSR,而自己沐浴焚香,心里默念网易爸爸好,对着符文画出来的却只是一堆垃圾。

722
来自专栏互联网数据官iCDO

跳出率骗局,带你洞察跳出率背后的真相

虽然保持一个较低的平均跳出率是网站优化的很重要的部分,但是许多人并不真的了解跳出率对转化真正的作用。

1003

扫码关注云+社区