1995解密搜索引擎技术实战 Lucene java精华版 第3版.pdfVIP

1995解密搜索引擎技术实战 Lucene java精华版 第3版.pdf

  1. 1、本文档被系统程序自动判定探测到侵权嫌疑,本站暂时做下架处理。
  2. 2、如果您确认为侵权,可联系本站左侧在线QQ客服请求删除。我们会保证在24小时内做出处理,应急电话:400-050-0827。
  3. 3、此文档由网友上传,因疑似侵权的原因,本站不提供该文档下载,只提供部分内容试读。如果您是出版社/作者,看到后可认领文档,您也可以联系本站进行批量认领。
查看更多
/r/r r \ ^ MM 网络爬虫的原理与应用 网络爬虫从互联网中的海量信息源源不断地抓取有用信息,搜索引擎结果中的信息都 来源于此。如果把互联网比喻成ー个覆盖地球的蜘蛛网,那么抓取程序就是在网上爬来爬 去的蜘蛛。爬虫的好处是能汇集有用的数据。 网络爬虫需要实现的基本功能包括下载网页以及对URL地址的遍历。为了高效快速地 遍历大量的URL地址,还需要应用专门的数据结构来优化 。又因为爬虫很消耗带宽资源, 所以设计爬虫时需要仔细考虑如何节省网络带宽。 ヘ^ 2.1爬虫的基本原理 如果把网页看成节点,网页之间的超链接看成边,则可以把整个互联网看成是ー个巨 大的非连通图。为了获取网页,需要有一个初始的URL地址列表。然后’ 通过网页中的超链 接访问到其他页面。有人可能会奇怪像Google或百度这样的搜索门户怎么设置这个初始的 URL地址列表。一般来说,网站拥有者把网站提交给分类目录,例如dmoz (http:// /),爬虫则可以从开放式分类目录dmoz抓取。 抓取下来的网页中包含了想要的信息,一般存放在数据库或索引库这样专门的存储系 统中,如图2-1所示。 解密搜索引擎技术实战:LuceneJava精华版(第版) 初始URL地址列表 请求网页 新解析出的URL 解析网页 存储系统 爬虫基本结构图 在搜索引擎中,爬虫程序是从一系列种子链接把这些初始网页中的URL提取出来,放 入URL工作队列(Todo队列,又叫做Frontier),然后遍历所有工作队列中的URL,下载 网页并把其中新发现的URL再次放入工作队列。为了判断ー个URL是否已经遍历过,应 把所有遍历过的URL放入历史表(Visited表)。爬虫抓取的基本过程如图2-2所示。 初始URL地址、. 解析URL 、 Todo队列 Visited 集合 t 新解析出的URL 图2-2网页遍历流程图 抓取的主要流程如下: while (todo.size() 0) { //如果 Todo 队列不是空的 //从Todo队列里面提取URL String strUrl todo. iterator ().next (); //下载URL对应的网页内容 String content downloadPageContent(strUrl); //提取网页内容中新发现的URL链接 HashSetString newLinks retrieveLinks (content, new URL (strUrl)); //把新发现的链接加入Todo队列 todo.addAll(newLinks); //从Todo队列里删除已经爬过的URL todo. remove (strUrl); //把从Todo队列里删除的URL添加到Visited集合中 visited.add(strUrl); } 整个互联网是ー个大的图,其中,每个URL相当于图中的ー个节点,因此

文档评论(0)

186****8391 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档