论文部分内容阅读
互联网技术的快速发展带来了网络信息量的飞速增长。与此同时,出现了如数据挖掘、搜索引擎等诸多研究领域。而这些研究的开展都离不开网络爬虫的支持。网络爬虫系统性能的好坏对于上述研究的影响十分巨大。如何准确快速的爬取到网络中的信息将是衡量一个网络爬虫系统性能高低的关键因素。本文通过提高目标链接提取的准确率以及业务数据缓存的效率,从而达到提升爬虫系统性能的目的。 针对目标链接提取准确率的问题,本文通过非重复链接提取和相关链接提取两个方面进行准确率的提升。首先对布隆过滤器进行改进,提出了基于链接特征的多级动态布隆过滤器。该布隆过滤器通过将URL分段组合,进行多次匹配,降低了URL去重的误判率,提升了非重复链接提取的准确率。其次,通过提出基于链接属性的相关链接提取算法提升相关链接提取的准确率,该算法通过对网页结构、语义、主题以及链接文字比率等不同的链接属性设置规则,通过规则比较,淘汰不符合规则的噪声链接来提升链接提取的准确率,避免爬虫对一些噪声链接进行爬取。最后通过实验验证,这两种方法能够提高目标链接提取的准确率。 针对业务数据缓存效率的问题,本文通过网页数据缓存和 DNS缓存两个方面进行缓存效率的提升。通过设计一个网页数据缓存管理模型来降低爬虫系统在网页数据缓存时内存申请释放的时间消耗,从而提升爬虫对于网页数据缓存的效率。该网页数据缓存管理模型通过在线程私有内存池的基础上增加一个全局管理线程来平衡各个线程可用内存节点,从而减少向操作系统申请释放内存的次数,提升内存分配释放效率,从而提升爬虫效率。设计一个基于三层哈希的 DNS预解析缓存算法来降低爬虫在进行域名解析时的时间消耗,该算法通过对域名进行DNS预解析,同时将解析后的域名IP对存入三层哈希缓存结构,从而使爬虫系统不必每次都向域名服务器请求IP,通过对DNS数据进行缓存,降低了DNS解析的时间消耗,提升了爬虫的性能。最后,通过实验验证,这两种方法能够提高业务数据缓存效率。