反搜索引擎

来源:互联网 发布:淘宝童装加盟 编辑:程序博客网 时间:2024/04/27 23:46
 

最近同事在做搜索引擎,一时兴起,搞了一个反搜索,主要参考这个:

限制Robot访问Web站点的方法
  

Robot是帮助搜索引擎搜集网页的一种自动化程序,它在访问一个Web站点时,会跟随网页中的链接提取出站点上的大部分内容,并为这些网页建立索引,放在搜索引擎的数据库中。在一些情况下,Web管理员或网页的作者出于某种原因的考虑可能并不想让Robot提取站点上的某些内容,此时可以使用一些方法来限制Robot的访问范围。

  限制Robot访问Web站点的方法共有两种,一种是由站点的Web管理员使用的Robot限制协议,目前绝大部分Robot都遵守该协议,另一种是由网页作者使用的Robot META标记,目前只有一小部分Robot支持该标记。


  Robot限制协议


  Robot限制协议的关键是在Web站点的根目录下放置一个文本文件Robot.txt。Robot在访问一个站点时会首先去读取该文件,分析其中的内容,并按照Web管理员的规定不去访问某些文件。下面是Robot.txt的一个例子:

  # http://www.yoursite.com/robots.txt

  User-agent: 

  Disallow: /tmp/ # these files will soon be deleted

  Disallow: /test.html

  User-agent: InfoSeek Robot 1.0

   Disallow: /

  其中"#"后面的内容是注释,User-agent命令用于指定它下面的Disallow命令对何种Robot有效,""表示对所有Robot都有效,上面例子中第二个User-agent命令表示其下面的Disallow命令只对Infoseek的1.0版Robot有效。Disallow命令用于指定哪些目录或文件不能被访问,如果指定了"/",那么所有文件都不允许访问,Disallow命令在一行中只能放一个目录或一个文件,如果有多个目录,则必须分别放在几行中。

  上面的Robot.txt文件是目前还在使用的早期Robot限制协议规定的内容,现在还有一个关于如何限制Robot的Internet草案正在制定之中,它对早期Robot限制协议进行了很多扩充,但还未进入实用阶段。


  Robot META标记


  绝大多数情况下,网页作者并非Web管理员,如果网页作者不想让Robot访问自己编写的一些HTML文件,那么可以请Web管理员帮忙在Robot.txt中注明,或者使用Robot META标记。

  META标记是HTML文件中用来放置一些不可见信息的一种标记,它必须放在HTML文件的Head部分中。Robot META标记是一种特殊的META标记,下面是它的几个例子:

  〈meta name=″robots″ content=″index,follow″〉

  〈meta name=″robots″ content=″noindex,follow″〉

  〈meta name=″robots″ content=″index,nofollow″〉

  〈meta name=″robots″ content=″noindex,nofollow″〉

  Robot META标记的name部分为"robots",content部分可以是"index"、"noindex"、"follow"和"nofollow"的组合。"index"表示搜索引擎可以为该HTML文件建立索引,"follow"表示搜索引擎可以使用该HTML文件中的链接来访问其它文件,"noindex"和"nofollow"与"index"和"follow"的意义正好相反。在组合使用这几个命令时,不能出现逻辑矛盾,即不能同时指定"index"、"noindex",或"follow"、"nofollow"。另外,如果要指定"index,follow",可以使用"all"来代替,如果要指定"noindex"、"nofollow",可以使用"none"来代替。

  使用Robot META标记的缺点是比较麻烦,对每一个HTML文件都要进行修改,另外,很多Robot并不支持该标记。

 

参考:http://www.cnblogs.com/babyblue/archive/2004/03/07/2399.html