什么是Robots协议
Robots协议语法解析
User-agent:
是定义搜索引擎的,指定搜索引擎的爬取程序,如果想定义所有搜索引擎请用 * ,
记住他不能单独使用,他要配合前面两个语法使用(随便一个就行了)
Disallow:是禁止搜索引擎抓取的路径。注意: / 表示根目录 (代表网站所有目录)。Disallow禁止搜索引擎把我们的网页放出来,就是我们不允许搜索引擎收录,请记住是不允许搜索引擎收录,并不代表他不能爬取了。这是两个概念,他还是能爬的,他不是命令,他只是协议
Allow:是允许的意思,但需要注意:
他的使用一般都是结合Disallow他不能单独出现,意思是禁止爬取那个内容,加上Allow后意思是,除了可以爬取这个外其余的都禁止!
常见的搜索引擎蜘蛛
由于互联网上蜘蛛有进200多种搜索引擎蜘蛛,但你需要知道的几个常见的蜘蛛:
百度蜘蛛:Baiduspider
谷歌机器人:Googlebot
360好搜: 360spider
SOSO蜘蛛:Sosospider
雅虎的蜘蛛 Mozilla
微软bing的蜘蛛:msnbot
Robots协议的应用
应用1: 屏蔽所有搜索引擎爬取网站的语法:
User-agent: *
Disallow: /
应用2:允许所有搜索引擎爬取网站所有内容
User-agent: *
Disallow:
应用3:只禁止百度抓取你网站的内容
User-agent: Baiduspider
Disallow: /
应用4:只允许百度抓取你网站的内容
User-agent: Baiduspider
Disallow:
User-agent: *
disallow: /
语法的细节使用
冒号后面有空格,这是要严格遵守的,语法的第一个字母大写
语法的搭配使用
User-agent
知识点: /
重
Disallow: /SEO/
Disallow: /SEO/
而 Disallow: /SEO
匹配符-[通配符两个要点]
—— $
—— *
通配符是整个Robots.txt里面的核心内容,通配符出现让Robots代码更加精简,用更少的代码能够达到同样的效果,可以匹配要屏蔽的N个路径,(通配符匹配案例)
Allow或Disallow的值 | URL | 匹配结果 |
/tmp | /tmp | yes |
/tmp | /tmp.html | yes |
/tmp | /tmp/a.html | yes |
/tmp | /tmphoho | no |
/Hello* | /Hello.html | yes |
/He*lo | /Hello,lolo | yes |
/Heap*lo | /Hello,lolo | no |
html$ | /tmpa.html | yes |
/a.html$ | /a.html | yes |
htm$ | /a.html | no |
robots.txt文件用法举例
例1. |
User-agent: Disallow: |
例2. (或者也可以建一个空文件 |
User-agent: Allow: |
例3. |
User-agent: Disallow: |
例4. |
User-agent: Allow: User-agent: Disallow: |
例5. |
User-agent: Allow: User-agent: Allow: User-agent: Disallow: |
例6. 在这个例子中,该网站有三个目录对搜索引擎的访问做了限制,即robot不会访问这三个目录。需要注意的是对每一个目录必须分开声明,而不能写成 |
User-agent: Disallow: Disallow: Disallow: |
例7. |
User-agent: Allow: Allow: Allow: Disallow: Disallow: Disallow: |
例8. 禁止访问/cgi-bin/目录下的所有以”.htm”为后缀的URL(包含子目录)。 |
User-agent: Disallow: |
例9. 仅允许访问以”.htm”为后缀的URL。 |
User-agent: Allow: Disallow: |
例10. |
User-agent: Disallow: |
例11. 仅允许抓取网页,禁止抓取任何图片。 |
User-agent: Disallow: Disallow: Disallow: Disallow: Disallow: |
例12. 允许抓取网页和gif格式图片,不允许抓取其他格式图片 |
User-agent: Allow: Disallow: Disallow: Disallow: Disallow: |
例13. |
User-agent: Disallow: |