数据库技术・Data Base Technique 主题爬虫技术的深入探究与实现 文/高占江韩丹 的PriorityURL类型后,存放在队列中,为了 到的相关网页的数量较少;若指定的闽值较 小,则爬虫程序能够爬取到大量的网页,不乏 其中有与主题相关度较小的网页。所以这里闽 值的指定由用户自行选择。如果计算出的余弦 本文介绍的主题爬虫技术注 重对某个专业领域数据信息的深 度搜集,摒弃传统爬虫技术的广 泛搜索,针对某个具体行业或者 领域挖掘更加准确更加专业的数 据。对主题爬虫技术的需求、爬 在队列中能够按照类的某个属性(这里指每 个URL的权值)进行自动排序,排序的目的 是为了我们从队列中能够优先获取权值大的 URL进行爬虫,这样就能够保证爬虫能够最 大限度的爬取跟我们主题相关的网页,为了实 值小于阈值,则认为它与主题无关,直接丢弃, 爬虫继续从“待访问队列”中读取权值最大的 行流程和策略以及与主题相关度 的判断作了详细的讨论。 现这一功能,自定义类PriorityURL的时候, 它需要实现接口Comparable<PriorityURL>, 并重写comp ̄eTo()方法。这样实现了自定义 【关键词】网络爬虫主题相关度网络蜘蛛 类型能够按照某个属性进行排序,需要把类的 权值 多个实例(URL对象)储存在一个可以实现 排序的队列中,下面给出队列的定义: PriorityBlockingQueue<PriorityURL>waitf orHandling=new Priorit3rBlockingQueue<Priorit 1引言 yURL>0; 主题爬虫技术更加注重某个专业领域的 从初始URL页面中提取出的链接并赋予 信息,针对某个主题收集相关专业领域的数据。 权值为1后抽象成PriorityURL的实例添加到 由此诞生出的主题搜索引擎擅长对某类信息提 “待访问队列”waitforHandling中,这样队列 供检索服务,更加注重信息的深度和精确性, 中的URL会按照权值从大到小排队,我们每 必将成为搜索技术领域的新趋势。所以,主题 次去访问队头即权值最大的URL,从而保证 爬虫技术抓取到的数据的优劣直接决定了主题 优先访问与主题相关度大的链接。 搜索引擎的的质量的高低。 2.2网页与主题相关度计算 2主题爬虫的策略 在对“待访问队列”完成初始化后,只是 主题爬虫主要实现对链接的智能取舍和 预先估计了链接URL与主题相关的程度大小。 对网页的智能过滤,只爬行它认为与主题相关 这个URL是否与我们的主题是否相关,必须 的网页并且下载存储。 使用量化的指标来判断,首先规定一个阖值, 当计算出的相关度值大于这个阂值时则认定为 2.1“待访问队列”初始化 符合要求,否则认为它与主题无关。通过这个 初始网页队列的选取直接影响到爬行到 URL所指向的页面内容来判断是否相关,因 的网页与主题的相关程度。首先指定初始种 此对于这个URL要下载其页面内容,这里对 子叽 ,当然这个URL在某个专业领域是比 要判断的这个URL我们称之为目标URL,根 较知名的,本文采用关键词集来确定主题,指 据初始指定的关键词集,计算所有关键词在目 定几个不同关键词来描述(反应)某个主题, 标URL网页中出现的词频(权值)。计算目 其中每个关键词指定不同的权值,使用特征提 标网页与主题相关度的大小使用余弦度量法。 取的方法给每个关键词指定不同的权值。针对 我们已经统计出关键词在目标网页中的权值, 给定的权威网页,程序提取每个关键词在权威 关键词的初始权值已经在权威网页中得到,利 网页中出现的词频来表示关键词的权值,这个 用公式1可以求得主题相关度的大小值。 赋予关键词的初始权值称之为初始关键词的权 o0s< B>= 垒 : 值,给出关键词集的定义: √踞 咯现t峨(1) Hashtable<String,Integer>keyWords 其中w ,表示设定的第i个关键词的初始 newHashtable<String,Integer>(); 权值,w 表示目标网页中第i个关键词的权值。 通过计算每个关键词在初始的URL指向 2.3“待访问队列”的维护 的网页内容中出现的次数,给每个关键词赋 予初始的权值。对初始URL的网页进行链接 计算出目标URL与主题相关度大小后, 的提取,我们对所有的提取的URL的权值均 与我们指定的闽值(小于1)进行比较,一般 赋值为最大值1。将每个链接抽象为自定义 来说,指定的闽值为0.9,指定的阈值越大, 爬虫爬取的URL与主题密切度越大,但爬取 202・电子技术与软件工程Electronic Technology&Software Engineering URL继续爬行。若计算出的余弦值大于阈值, 保存这个URL,这个URL就是符合要求的, 进而提取其中包含的所有链接,计算链接的权 值,构造PriorityURL实例放入“待访问”队 列中。提出基于页面内容评估链接的最优最先 爬取策略计算URL权值的算法: (i)根据余弦度量法公式计算一个页面 与主题的相关度,记为v。 (ii)提取该页面包含的所有链接。 (iii)计算页面中链接的总数量,记为t。 (iv)计算这个URL的级数(层数), 即URL中根据“/”分割的层次数目,记为1。 利用公式y/(t*1)得到所有链接的权值,生 成PrioriytURL对象保存在“待访问队列”中。 这样就使得爬虫能够循环往复,无限扩展爬取 的范围,直到满足用户的需求。 3结语 本文主要讲述主题网络爬虫程序的功能 需求及爬去算法,对最有最先算法进行了改进, 提出了基于页面内容评估链接的最优最先爬行 策略,实验证明,主题爬虫搜索到的数据与主 题保持了很好的相关度,更加有利于对某个专 业领域内数据的深度挖掘。 参考文献 [1]王芳.深入解析Web主题爬虫的关键性原 理[J].微型电脑应用,2011,(1 5). [2]刘汉兴.主题爬虫的搜索策略研究…. 计算机工程与设计,2008,(3). 作者简介 高占江(1989一),男,山东省潍坊市人。硕 士学位。现为青岛科技大学助教。研究方向为 应用软件研发。 韩丹(1989一),女,山东省潍坊市人。硕士学位。 现为青岛科技大学助教。研究方向为应用软件 测试。 作者单位 青岛科技大学 山东省高密市 261 500