摘要:
随着网页数量的爆炸性增长,传统集中式的爬虫很难满足实际应用.另外,Ajax技术在网络应用中的广泛普及,给传统的Web开发带来了一次全新的变革,通过局部刷新的功能提高了用户的体验度,用户能够很好的与远程服务器进行交互,典型的应用包括校园的BBS,博客网站等.这些大量动态网页的出现给传统的网络爬虫带来了很大的障碍.影响爬虫的效率的同时也影响网页内容的获取.针对上述的两个问题,本文以WebMagic爬虫框架为基础,设计了一种分布式的动态网页爬虫系统Dis-Dyn Crawler.系统采用SOA架构的思想,将动态网页解析工具HtmlUnit在动态页面过程中比较耗时的操作分离出来作为独立的服务;为了提高解析效率,系统将HtmlUnit所需要的JavaScript等文件缓存在Redis数据库中,在进行页面渲染时不用每次都从网络中下载,减少网络的请求,提高解析效率;异步页面下载器的实现使得系统的整体效率进一步提高.论文从功能和性能两个方面对Dis-Dyn Crawler系统进行实验分析.通过与现有分布式网络爬虫工具的抓取能力进行对比,验证本文基于Webmagic的动态网页爬虫是高效的.通过与现有的动态网页解析工具进行对比,验证本文的Dis-Dyn Crawler系统的高效性和可行性.
展开