大康牧业董事长美图:搜索引擎的蜘蛛程序爬行网页时是否将网页内容存在了搜索引擎服务商的服务器中了?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 03:59:32
请网络专家给予指点。我们都知道搜索引擎的工作原理是由一个网络蜘蛛程序进行抓取互联网上的信息,然后建立索引数据库,等用户查询时由检索器按照用户的关键词进行检索,将检索结果返回给用户。但我不清楚的是蜘蛛程序抓取的是什么,是互联网上的网页还是网址?建立的索引数据库里面是什么内容?是各个网站的网页吗?也就是搜索引擎的工作原理是否使搜索引擎服务商的服务器中存储了各个网站的网页?请专家给予指点,急盼知道!!十分感谢!!!

是的。 搜索引擎服务器会一刻不停的从互联网上抓取网页,存放到本地的机器上,然后建立索引,并且对外提供检索服务。典型的工作流程是
1。搜集
在这个流程中,用网络爬虫 或者叫spider的程序模块,不断地从web上寻找网页并且下载下来。最长用的方法是,把整个web网络看作是一个有向图,从种子URL集合开始,开始抓取并且存到本地,并且解析出网页内容中包含的url链接,然后把这些新的url加到url集合中。一般按照宽度优先的方式来查找。 这个过程不断重复直到URL集合中所有链接都已经采集过,或者是采集时间限制到了,或者是所有的不超过某一深度的连接都已经采集过了。这些下载下来的网页的标准html文本,以及采集url,采集时间等要素都要记录下来。
采集器还要注意对被采集网站的影响,避免采集造成攻击式的后果。
2。预处理
这个过程比较复杂
2.1 对html网页进行解析并且建立索引
html网页需要去掉html标签和一些垃圾连接,比如广告等。 对于网页的正文内容要建立索引。 索引是检索最重要的数据来源,对于检索速度和效果影响是根本性的。在索引中词和网页都用数字来标记。 常用的是倒排索引,格式如下 termid : docid1 docid2 ...docid3 . 其中termid也就是我们常说的词,(这个要通过对网页内容切词/分词之后得到),在索引中一般用词的编号来代替。docidx是所有包含该term的网页的编号。
2.2 计算每篇网页的重要程度。 一般各个网站的首页都比较重要,需要赋予较高的权重。常用的方法是利用网页之间的链接关系,类似学术研究上的相互引用关系,来计算每个网页的重要性,这就是page rank . google就是靠它起家的.
2.3 重复网页的消除. 网络上的网页多是好几份的,大家你抄我的我抄你的,连个错别字都不会改的情况都存在. 这些重复网页浪费了搜索引擎的代价,更重要的是影响检索的效果.
3. 检索服务
我们在检索端输入查询串之后,要经过分词处理.然后利用的到词,得到termid,到前面2.1 生成的索引查找, 得到符合检索条件的网页的id. 然后用网页的内容计算的权重和2.2 计算的page rank数值,以及其他的权重(比如 anchor text 等) 一起对每个网页给出一个最终权重. 这些网页按照权重从大到小的排序之后输出. 就是我们看到的检索结果了.

当然这里谈到的只是一些最基本的实现方法. 其实每个步骤都是非常复杂的一项工作,很多的技巧在里面,比如存储结构,比如一些自然语言处理技术,比如分类.聚类等.
上面的方法只能做一个demo系统,要真正的高性能的好的系统,还要其他更深的技术.搜索引擎是个高门槛的东西.

可以参考
The Anatomy of a Large-Scale Hypertextual Web Search Engine
是google的雏形的东西.一些主要的技术都提到了.在google上能找到这篇文章的pdf
希望对你有用.
谢谢

存储的是找到的网页的链接和内容。
然后根据内容进行分类存储。

没悬赏分?
你有没有搞错!
问这么专业的问题却不舍得给钱?~
晕死!~

非常专业的问题啊,偶不懂
搜索引擎的数据库应该非常庞大吧。。。

常专业的问题啊,偶不懂
搜索引擎的数据库应该非常庞大吧。。。

抓的网页地址

不一定是地址吧???
我猜它把网页的文本内容都已经保存起来了
你看BAIDU里的网页快照, 这个功能用的应该就是已经保存过的东西了