/**
* @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) |