随着互联网技术的日益发展,通用的搜索引擎返回的查询结果已经不能够满足不同领域,不同背景的用户查询特定主题信息的需求,因此垂直搜索引擎营运而生。作为垂直搜索引擎的核心组成部分---主题爬虫抓取网页的方法直接应先过了垂直搜索引擎的性能。
###通用搜索引擎
通用搜索引擎工作流程主要分为三个阶段,信息采集、预处理和索引、提供检索服务。首先,由爬行器(网络爬虫)到网上进行信息采集,收集网络上的资源;完好,利用索引生成器对抓取的网页进行预处理,并自动进行标引,建立索引数据库;最后,提供查询检索器给用户,根据用户提交的查询关键词对索引数据库进行检索,对线索结果进行排序和集合运算,再提取网页的简单扎偶奥一下逆袭呈现给用户。
由于其通用的特点不能很好的针对不同领域、不同背景的用户提供精准化的信息需求服务,通用搜索引擎返回的结果包含了大量用户不关心的网页,但是多元化的市场需求决定额搜索引擎的服务模式必有“广、泛、浅”向“专、精、深”转变,针对不同的行业提供更加精确的服务模式,因此垂直搜索引擎应运而生。
###垂直搜索引擎
是面向特定搜索领域和搜索需求的专业搜索引擎,对Web中某个主题的信息进行爬取。索引并整合,定向分字段地抽取需要的数据进行处理后,针对特定领域、特定人群或者特定需求提供有一定价值的信息和服务。常见的垂直搜索引擎有物流搜索、医药搜索、购物搜索、体育、教育搜索。
垂直搜索引擎为了弥补通用搜索引擎存在的信息量大、查询不准确、更新不及时、深度不够等缺陷而提出来的一种新的搜索引擎服务模式,其特点就是“专、精、深”,且极具行业特色,与通用搜索引擎的海量信息无序化相比,显现了更加专注、具体和深入的优势。
垂直搜索引擎也是由主题爬虫、索引生成器和查询检索器组成。主题爬虫是尽力收集和主题相关的网页信息,而尽量避免下载与主题不想关的网页信息;索引生成器和查询检索器与通用的搜索引擎中的功能类似:索引生成器是吧Web上抓取的信息建立索引目录,以便实现快速检索;查询检索器是提供搜索的功能,以及快的速度返回给用户需要的信息。
垂直搜索引擎与传统的区分:
1.通用搜索引擎面向整个Web进行信息采集,采集数量大、范围广,但是采集深度浅,更新不及时,采集的动态网页优先级较低;而垂直搜索引擎只采集Web中与某个主题相关的信息,所才几点额网页都是面向某一特定领域,特定人群所特定需求的,数量适中,采集层次更深,更新速度较快,采集的动态网页优先级相对较高,服务上更据专业特色。
2.通用搜索引擎强调响应速度,因此仅对部分网页中特定位置的文本进行索引,导致检索结果不完全、不准确;而垂直搜索引擎更注重一下信息的专业化和使用价值,并支持全文检索、精确检索以及机构化和非结构化数据联合检索,按照需求提供多种结果排序方式。
3.通用搜索引擎以网页为最小搜索引擎,而垂直搜索引擎对网页信息进行结构化的信息抽取加工,以结构化数据为最小搜索单位。
###通用爬虫的爬行策略
适用通用爬虫的搜索策略有广度优先策略、深度优先策略和IP纸质搜索策略。
1.广度优先策略(BFS),是网络爬虫从初始的URL种子开始进行逐层地遍历抓取网页,只有遍历完本层网页包含的所有URL指向的页面才进入下一层继续遍历,这就办证了对浅层面页面的首先处理,当遇到一个无穷尽的深层分支时,不会导致陷入WWW中的深层页面中出不来的情况发生。
2.深度优先策略(DFS),是网络爬虫从初始URL开始,沿着页面的一条URL链往下爬取,层层深入,一直到搜索结构的叶节点(即那些不包含任何URL的HTML文件),没有URL可爬取为止,然后再但会上层网页从另一个URL开始按照相同的方式继续进行下去。深度优先策略虽然能都遍历一个Web站点或深层嵌套的网页集而挖掘到深层次的资源,但却容易忽略爬行的广度,有事会导致爬虫的陷入问题。
3.IP地址搜索策略,是先赋予通用爬虫一个IP地址作为初始种子,然后以该IP地址为起点,按照IP地址递增的顺序依次下载增长后的IP地址所指向的网页。这种搜索策略的优点是搜索全面,能够发现那些没被任何URL指向的资源,尤其是那些在互联网中新产生的网站及站内的网页信息,缺点是搜索效率比较低,不适合大规模搜索。
###主题爬虫
与通用爬虫的结构相比,主题爬虫多出两个模块,即页面主题相关性计算模块和候选链接优先级计算模块。页面主题相关性计算模块对下载的网页进行主题相关性判断,若判断出下载的网页与目标主题的相关性满足设定的阈值条件,则将该页面中候选链接提取出来并送入候选链接优先级计算模块,确定这些候选链接的访问优先级,若候选链接与主题的相关性较高则被插入到待爬行URLs优先级队列的而前面,他们将会被优先爬行,反之则被插入到待爬行URLs优先级队列的后面或被舍弃;若网页的主题相关性不满足设定的阈值条件,则舍弃该网页,不必在对网页中存在的候选链接进行提取和优先级计算。
这两个模块会直接影响主题爬虫下载的网页的质量。
###主题爬虫的爬行策略
1.广度优先搜索策略
初始 URL 种子在一定链接距离内下载的网页与目标主题相关的概率很大,因此适用于通用爬虫中的广度优先搜索策略也常被应用于主题爬虫中,目的是尽可能多地覆盖网页,以提高主题爬虫的覆盖率。但这种做法使得主题爬虫在提高覆盖率的同时也会下载大量与目标主题无关的网页,最终影响主题爬虫的准确率。为了解决这个弊端,许多研究把网页过滤技术加入到采用广度优先搜索策略的主题爬虫中:先是利用广度优先搜索策略下载网页,然后利用网页过滤技术过滤掉与目标主题无关的网页,从而提高主题爬虫的准确度。但这种方法又会带来新的问题,即随着下载网页的增多,许多与目标主题无关的网页被下载后再进行过滤,会影响主题爬虫的效率。
2.最佳优先搜索策略
研究表明,主题爬虫中应用最佳优先搜索策略要好于广度优先搜索策略,应用最佳优先策略的主题爬虫在爬行过程中会一直维护一个待爬行 URL 优先级队列,每次爬行时都会从这个队列中选择优先级最高的 URL 进行网页下载,并分析和计算网页中的链接优先级,再按照优先级的高低插入到待爬行 URL 优先级队列,如此循环往复直到优先级队列为空或达到终止条件才结束。链接优先级的高低一般采用与主题的相关程度来度量,这样主题爬虫就会一直优先爬行与主题相关性高的网页,与主题爬虫的目标,即最大程度地爬取与主题相关的网页,最小程度地爬取与主题不相关的网页是相符合的,因此主题爬虫通常都是采用最优优先策略爬取网页。该策略的不足之处是:它是局部最优的,每次只访问当前待爬行 URLs 优先级队列中优先级最高的 URL,但是待爬行优先级队列中不可能存放整个爬行过程中的 URL,所谓优先级最高的 URL 也只是暂时的,不一定是整个爬行过程中优先级最高的,因此爬行中一些较深层的与目标主题相关的网页可能被忽略。Best-First 策略就是一种最简单的最佳优先搜索策略,因为其简洁性和高效性被认为是最成功的爬行策略之一,也是技术评价中常用的一个基准策略。主题爬行策略是主题爬虫的核心技术之一,直接影响主题网页采集的质量与效率,因此选择一种好的爬行策略对主题爬虫来说至关重要。