爬虫
如题,随着网络上海量信息的爆炸式增长, 通用搜索引擎面临着索引规模、更新速度和个性化需求等多方面的挑战 。面对这些挑战, 适应特定主题和个性化搜索的主题网络爬虫( focusedcrawler or topical crawler) 应运而生。一下是对网络爬虫的四个定义。
定义1 网络爬虫是一个自动提取网页的程序, 它为搜索引擎从Web 上下载网页, 是搜索引擎的重要组成部分。通用网络爬虫从一个或若干初始网页的URL 开始, 获得初始网页上的URL 列表; 在抓取网页的过程中, 不断从当前页面上抽取新的URL 放入待爬行队列, 直到满足系统的停止条件。
定义2 主题网络爬虫就是根据一定的网页分析算法过滤与主题无关的链接, 保留主题相关的链接并将其放入待抓取的URL 队列中; 然后根据一定的搜索策略从队列中选择下一步要抓取的网页URL, 并重复上述过程, 直到达到系统的某一条件时停止。所有被网络爬虫抓取的网页将会被系统存储, 进行一定的分析、过滤, 并建立索引, 对于主题网络爬虫来说, 这一过程所得到的分析结果还可能对后续的抓取过程进行反馈和指导。
定义3 如果网页p 中包含超链接l, 则p 称为链接l 的父网页。
定义4 如果超链接l 指向网页t, 则网页t 称为子网页,又称为目标网页。
主题网络爬虫的基本思路就是按照事先给出的主题, 分析超链接和已经下载的网页内容, 预测下一个待抓取的URL 以及当前网页的主题相关度, 保证尽可能多地爬行、下载与主题相关的网页, 尽可能少地下载无关网页。相对于通用网络爬虫, 主题网络爬虫需要解决以下四个主要问题:
a) 如何描述或定义感兴趣的主题( 即抓取目标) ?
b) 怎样决定待爬行URL的访问次序? 许多主题网络爬虫根据己下载网页的相关度, 按照一定原则将相关度进行衰减,分配给该网页中的子网页, 而后将其插入到优先级队列中。此时的爬行次序就不是简单地以深度优先或广度优先顺序, 而是按照相关度大小排序, 优先访问相关度大的URL。不同主题网络爬虫之间的区别之一就是如何计算URL的爬行次序。
c) 如何判断一个网页是否与主题相关? 对于待爬行或己下载的网页可以获取它的文本内容, 所以可以采用文本挖掘技术来实现。因此不同主题网络爬虫间的区别之二就是如何计算当前爬行网页的主题相关度。
d) 怎样提高主题网络爬虫的覆盖度? 如何穿过质量不好( 与主题不相关) 的网页得到与用户感兴趣主题相关的网页,从而提高主题资源的覆盖度?
如何解决上述的四个问题是写好一个爬虫的关键,这样的爬虫可以在众多的信息中爬取我们最想要得到的那些信息,并且可以将那些与想要爬取的内容毫无关联的网页屏蔽。所以必须要确定如何抓取URL才可以使得我们编写的爬虫更有效率。
浙公网安备 33010602011771号