robots.txt写法,爬虫对网页内容的“盗亦有道”!

robots协议爬虫的的盗亦有道

禁止收录、拒绝死链、网站地图提交索引…这些相信做SEO推广的朋友都了解。

那么robots.txt协议是干什么的呢?对,就是承载网站的以上功能和搜索引擎之间关系的一个约定。

robots协议是世界互联网相关协会公布且明文规范的一项针对搜索引擎与各个网站之间抓取索引条款的规范:

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

包括百度、谷歌等在内的搜索引擎全部都会遵从robots协议的限令。不管是站长们不想让搜索引擎抓取,还是想要让其快速索引网站地图,首先搜索蜘蛛会通过robots协议来判定。

如果网站根目录的robots协议是允许该搜索引擎抓取的,我们可以理解为新娘门开着迎接新郎的到来;反之,如果是禁止该搜索引擎收录,则是说门关着不要让其进来。

而根据协议和互联网规范,大多数正当搜索引擎都不会越过雷池一步!比方说最知名的淘宝禁止百度的抓取,基本都只有标题,描述也没有,会提示存在抓取限令。

当然,robots协议不止这两种,会有很多情况和写法。

既然网络爬虫在爬取一个网站之前,要先获取到这个文件,然后解析到其中的规则,那么,Robots就必须要有一套通用的语法规则。

最简单的robots.txt还是上文提到的,只有两条规则:

1、User-agent:指定对哪些爬虫生效

2、Disallow:指定要屏蔽的网址

先说User-agent,爬虫抓取时会声明自己的身份,这就是User-agent,没错,就是http协议里的User-agent。

robots.txt利用User-agent来区分各个引擎的爬虫,比如说google网页搜索爬虫的User-agent为Googlebot。

可能有读者要问了,我怎么知道爬虫的User-agent是什么?每个搜索引擎官方都会有生命自己的爬虫名称,包括百度、谷歌,甚至淘宝京东等所有涉及到搜索的网站。

最后是常用的robots.txt文件用法写法:

1. 允许所有的robot访问

User-agent: * Allow: / 或者 User-agent: * Disallow:

2. 禁止所有搜索引擎访问网站的任何部分

User-agent: *

Disallow: /

3. 仅禁止Baiduspider访问您的网站

User-agent: Baiduspider

Disallow: /

4. 仅允许Baiduspider访问您的网站

User-agent: Baiduspider

Disallow:

5. 禁止spider访问特定目录

User-agent: *

Disallow: /cgi-bin/

Disallow: /tmp/

Disallow: /~joe/

6. 允许访问特定目录中的部分url

User-agent: *

Allow: /cgi-bin/see

Allow: /tmp/hi

Allow: /~joe/look

Disallow: /cgi-bin/

Disallow: /tmp/

Disallow: /~joe/

7. 使用”*”限制访问url

禁止访问/cgi-bin/目录下的所有以”.htm”为后缀的URL(包含子目录)。

User-agent: *

Disallow: /cgi-bin/*.htm

8. 使用”$”限制访问url

仅允许访问以”.htm”为后缀的URL。

User-agent: *

Allow: .htm$

Disallow: /

例9. 禁止访问网站中所有的动态页面

User-agent: *

Disallow: /*?*

10. 禁止Baiduspider抓取网站上所有图片

仅允许抓取网页,禁止抓取任何图片。

User-agent: Baiduspider

Disallow: .jpg$

Disallow: .jpeg$

Disallow: .gif$

Disallow: .png$

Disallow: .bmp$

11. 仅允许Baiduspider抓取网页和.gif格式图片

允许抓取网页和gif格式图片,不允许抓取其他格式图片

User-agent: Baiduspider

Allow: .gif$

Disallow: .jpg$

Disallow: .jpeg$

Disallow: .png$

Disallow: .bmp$

12. 仅禁止Baiduspider抓取.jpg格式图片

User-agent: Baiduspider

Disallow: .jpg$

总之,包括谷歌百度等在内的搜索引擎都是遵守robots君子协定的,说不抓去就不抓取。但还是不排除会有很多小的搜索引擎会恶意越过这层界限!

所以,优化也好,纯粹的做网站也好,robots协议能善用最好,但切不可过于依赖,以防止将重要文件公之于众,带来不必要的损失。

另外在SEO方面,浩存之前写过一篇《蝶变行动——决定着你的网站是否含着金钥匙出生!》里,提到过:新网站上线之后采用robots禁止收录的协议防止未完善的网站被抓取,看似聪明,实则因为robots生效时间的不确定,会给网站前期带来或多或少的负面影响!

所以在做新站的时候还是要尽量本地调试好再上线。

同样的,robots协议的其他功能也是一样,可以善用,但绝不应该成为依赖。