• 反搜索引擎


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

    限制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并不支持该标记。
     
     

  • 相关阅读:
    案例(2)-- 线程不安全对象(SimpleDateFormat)
    案例(1)-- OOM异常
    jvm--工具
    死锁的产生以及定位死锁
    TCP--粘包拆包,netty的解决方式
    netty--处理器
    AtomicIntegerFieldUpdater和AtomicInteger
    NIO--ByteBuf
    Pipeline
    吴恩达机器学习笔记(四) —— BP神经网络
  • 原文地址:https://www.cnblogs.com/babyblue/p/2399.html
Copyright © 2020-2023  润新知