申明:我也是刚开始学习搜索引擎,如果有不妥指出望指出,此系列博文只是记录我学习的历程罢了,不喜勿喷。
Author:元子
*********************************************************************
搜索引擎一般可以分为四个系统:
(1)下载系统
就是我们平时所说的爬虫,Crawler.
在Windows下,我们可以利用telnet实现网页的抓取,例如 输入:
telnet http://www.sina.com.cn 80
进入telnet的对话:
Get /index.html
这样就可以得到网页了
在linux下,可以利用wget
wget http://www.sina.com.cn/index.html
申明:以上我没有实际测试,如果运行不了,稍微上网查询下具体用法,以前有用过可以的。
不过现在Java提供了很多开源的包,可以方便我们进行网页抓取,例如HttpClient apache下的一个项目,这个包相当与一个网页浏览器,几乎可以做到你想得到的,具体大家可以上网自行下载,如果你很懒,懒得和我一样。。。那就回复个邮箱,我发给你。。。
这个下载系统就是可以让我们下载到我们需要的网页。
(2)分析系统
分析系统负责抽取下载系统得到的网页数据,并进行PageRank和分词等等计算。
(3)索引系统
负责将分析系统处理后的网页对象索引入库,这个索引库将成为我们以后用户查询的目标地,这里索引系统的好坏决定来我们搜索引擎的响应速度,现在的谷歌和百度搜狗之所以能在毫秒级返回数据结果,可见他们的索引能力,当然这个速度是利用缓存的优势,这个后面我们在一起研究研究。
(4)查询系统
这个系统主要分析用户提交的查询词,根据查询词向索引系统发出查询请求。然后根据索引结果生成网页返回给用户。。
总结下:123这三个系统可以被称为离线系统,就是对于我们查询用户来说是透明的,他在我们还没有发出查询之前就已经准备好来。
因特网上的一些统计特性:
(1)因特网有人比喻程一个牙妹蝶型,(网页指向从左翅--》身体--》右翅)
蝴蝶左边翅膀的网页较少被别的网页引用,更多的是指向别的网页,所以这种网页是目录式的,他们更多的是方便我们上网冲浪
蝴蝶身体则是一般性网页,被众多网页指向,同时又指向别的网页
蝴蝶右边翅膀则是权威网页,一般都是别人指向它,它较少去引用别人的。
这种分类的好处是:以后pageRank会利用这个思想进行。
(2)有人统计,因特网的平均直径大约17次,这就是说点击17次网页,我们几乎可以达到我们想要去的任何网页,你信么?反正我信了,记得以前有人做过实验,人与人之间只需要通过6个朋友的朋友。。。就会发现他们是认识的。。
所以进行网页的宽度遍历比进行深度遍历更有价值
(3)网页呈现爆炸式增长,that's all
---------------------------------------------
预告:下篇我们将从第一个网页爬虫开始,先抓取一个网页试试
*********************************************************************
申明:我也是刚开始学习搜索引擎,如果有不妥指出望指出,此系列博文只是记录我学习的历程罢了,不喜勿喷。
Author:元子