解析Robots.txt 协议标准

要写一个Robots.txt的解析函数,察看了一些Robots.txt协议:

转自:http://www.dedecms.com/knowledge/build-skill/experience/2012/0820/9573.html

            http://baike.baidu.com/view/1280732.htm

另有实例:改变nutch对robots.txt的解析实现 (http://www.doc88.com/p-072192049036.html)

Robots.txt 是存放在站点根目录下的一个纯文本文件。虽然它的设置很简单,但是作用却很强大。

它可以指定搜索引擎蜘蛛只抓取指定的内容,或者是禁止搜索引擎蜘蛛抓取网站的部分或全部内容。

文件写法

  User-agent: * 这里的*代表的所有的 搜索引擎 种类,*是一个 通配符
  Disallow: /admin/ 这里定义是禁止爬寻 admin 目录下面的目录 

  Disallow: /ABC/ 这里定义是禁止爬寻ABC目录下面的目录 
  Disallow: /cgi-bin/*.htm 禁止访问/cgi-bin/目录下的所有以".htm"为后缀的URL(包含 子目录 )。 
  Disallow: /*?* 禁止访问网站中所有包含问号 (?) 的网址 
  Disallow: /.jpg$ 禁止抓取网页所有的.jpg格式的 图片  
  Disallow:/ab/adc.html 禁止爬取ab文件夹下面的adc.html文件。 
  Allow: /cgi-bin/ 这里定义是允许爬寻cgi-bin目录下面的目录 
  Allow: /tmp 这里定义是允许爬寻tmp的整个目录 
  Allow: .htm$ 仅允许访问以".htm"为后缀的URL。 
  Allow: .gif$ 允许抓取网页和gif格式图片

文件用法:

User-agent:

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

Disallow:

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

举例:

例一:"Disallow:/help"

是指/help.html 和/help/index.html都不允许搜索引擎蜘蛛抓取。

例二:"Disallow:/help/"

是指允许搜索引擎蜘蛛抓取/help.html,而不能抓取/help/index.html。

例三:Disallow记录为空

说明该网站的所有页面都允许被搜索引擎抓取,在"/robots.txt"文件中,至少要有一条Disallow记录。如果"/robots.txt"是一个空文件,则对于所有的搜索引擎蜘蛛,该网站都是开放的可以被抓取的。

Robots.txt 协议中的注释符。

举例:

例一:通过"/robots.txt"禁止所有搜索引擎蜘蛛抓取"/bin/cgi/"目录,以及"/tmp/"目录和 /foo.html 文件,设置方法如下:

User-agent: *

Disallow: /bin/cgi/

Disallow: /tmp/

Disallow: /foo.html

例二:通过"/robots.txt"只允许某个搜索引擎抓取,而禁止其他的搜索引擎抓取。

如:只允许名为"slurp"的搜索引擎蜘蛛抓取,而拒绝其他的搜索引擎蜘蛛抓取 "/cgi/" 目录下的内容,设置方法如下:

User-agent: *

Disallow: /cgi/

User-agent: slurp

Disallow:

例三:禁止任何搜索引擎抓取我的网站,设置方法如下:

User-agent: *

Disallow: /

例四:只禁止某个搜索引擎抓取我的网站

如:只禁止名为“slurp”的搜索引擎蜘蛛抓取,设置方法如下:

User-agent: slurp

Disallow:/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值