Chinaunix首页 | 论坛 | 博客
  • 博客访问: 343548
  • 博文数量: 71
  • 博客积分: 2129
  • 博客等级: 大尉
  • 技术积分: 835
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-18 16:03
文章分类

全部博文(71)

文章存档

2014年(22)

2013年(18)

2012年(24)

2010年(7)

我的朋友

分类: PHP

2014-04-03 14:26:05

          
    /**
     * @author  
     * @copyright 2012  
     */  
      
    $contents = file('');   
    foreach($contents as $line => $content){   
               echo "line #{$line}:".htmlspecialchars($content).'
';   
    }   
      
    ?>  

输出类似于

    line #0:    
    line #1:    
    line #2:This Website is under construction    
    line #3:    
    line #4:    
    line #5:    
    line #6:




    
    line #7:    
    line #8:
    
    line #9:
    
    line #10:     
    line #11:     
    line #12:     
    line #13:
    
    line #14:

    
    line #15:

    
    line #16:

    
    line #17:

Website    
    line #18: is under construction!

    
    line #19: COME    
    line #20: BACK SOON

    
    line #21:

    
    line #22:

 

    
    line #23:
    
    line #24:    
    line #25:    
    line #26:  

看到以上的代码大家发现了什么问题?怎么平时我们看到的网页都变成了一些代码了?对,网页就是代码,对于搜索引擎蜘蛛来说网页就是代码.首先大家应该对蜘蛛有这样一个概念,那就是它是一个程序,而不是一个人,所以说网页在人眼中和在程序眼中是完全不一样的,同样的,用人脑处理数据的方式来理解蜘蛛处理数据的方式也是不正确的.

一个比较典型的应用实例就是百度和谷歌的网页快照,所谓的快照就是利用file()这个函数所读取的(或者叫做抓取的也可以),抓取到的转子泵内容大家刚刚也都看到了,仅仅是网页的代码,蜘蛛在抓取到这些代码所要做的就是剔除其中的html代码,这个比较简单,用正则表达式就能搞定.剔除掉Html代码之后,蜘蛛就得到了网页中的文字字符(通常大家管它叫做文本),得到了文本字符之后又会怎样呢?当然是对文本字符中的关键词进行索引,同搜索引擎庞大的关键词字典进行匹配性分词,算出网页内容同关键词的相关性,然后建立一个该关键词的网页索引(也就是对最终用户搜索的结果进行排序).

经过了这么多看似很复杂的工序之后,对于一个网站的抓取就算是正式完成了.

正如我在搜索引擎蜘蛛吞吐量同seo的关系一文中所说的那样,经过蜘蛛抓取的页面也许是很大的,即使是1M的蜘蛛也可以抓取就是这个意思,通常我们所知道的这1M的量,其实是包括了图片,多媒体等内容的,蜘蛛实际抓取过程中只是读取了标签而已,所以一旦一个网页转换成了纯html代码格式的话,1m那么大的网页顶多也就是几十k大小而已.而快照就更简单了,搜索引擎只是提供了file函数抓取到的内容而已,你点击快照中的链接,最后不是又转回到整个网站去了

阅读(2030) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~