网络爬虫基础整理

一曲冷凌霜 提交于 2020-04-08 11:01:43

robots.txt的作用以及规范写法

Robots.txt文件的作用

一般来说出于安全的考虑,在网站seo优化时写入robots.txt文件,实际上就是告诉搜索引擎蜘蛛,网站上哪些内容允许抓取,哪些内容不允许抓取,这样做可以提高搜索引擎的抓取效率,增加搜索引擎对网站的友好度。

robots.txt的作用以及规范写法

  1. robots.txt文件的规范写法

    文件中的记录通过空行分开,以CR、CR/NL、or NL作为结束符。robots.txt文件中的记录通常以一行或多行User-agent开始,后面加上若干Disallow和Allow行,详细情况如下:

  2. User-agent:

    用于描述搜索引擎蜘蛛的名字,在"Robots.txt"文件中,如果有多条User-agent记录说明有多个搜索引擎蜘蛛会受到该协议的限制,对该文件来说,至少要有一条User-agent记录。如果该项的值设为*,则该协议对任何搜索引擎蜘蛛均有效,在"Robots.txt"文件中,"User-agent:*"这样的记录只能有一条。

  3. Disallow:

    用于描述不希望被访问到的一个URL,这个URL可以是一条完整的路径,也可以是部分的,任何以Disallow开头的URL均不会被Robot访问到。

     例如,”Disallow:/help”是指禁止搜索引擎蜘蛛抓取/help.html和/help/index.html;而”Disallow:/help/”则允许搜索引擎蜘蛛抓取/help.html,不能抓取/help/index.html。
    
     Allow:
    
     用于描述希望被访问的一组URL,与Disallow项相似,这个值可以是一条完整的路径,也可以是路径的前缀,以Allow项的值开头的URL是允许robot访问的。
    
     例如,”Allow:/hibaidu”允许搜索引擎蜘蛛抓取/hibaidu.htm、/hibaiducom.html、/hibaidu/com.html。一个网站的所有URL默认是Allow的,所以Allow通常与Disallow搭配使用,实现允许访问一部分网页同时禁止访问其它所有URL的功能。
    

    注意:Disallow与Allow行的顺序是有意义的,搜索引擎蜘蛛会根据第一个匹配成功的Allow或Disallow行确定是否访问某个URL。

    使用”*”和”$”:

    Baiduspider支持使用通配符””和”$”来模糊匹配url。“$”匹配行结束符。“”匹配0或多个任意字符。

  4. 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.txt是有分大小写的,默认文件名全小写,规则里面要注意区分大小写
    
     13,在robots.txt中声明你的sitemap文件
    
     在robots.txt加入如下的一行文字:
    
     Sitemap:http://www.abc.com/sitemap.xml(替换自己的网站域名)
    
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!