论文部分内容阅读
如今互联网正在快速发展,互联网中的信息也随之爆发式增长、内容也随之丰富。信息的过载使得人工获取、处理数据的难度逐渐增加。因此如何快速、有效地做数据采集以及从海量数据中抽取有用信息是一个迫切需要解决的问题。爬虫技术有效地帮助了如今的互联网从业者实时、准确地采集数据。然而,爬虫的编写也是一项繁琐、复杂的任务,尤其是当你需要抓取众多结构相似或迥异的网站或App时,如果针对每一个网站都编写一个有针对性的爬虫,那么不仅使得爬虫的编写沦为繁重的体力活,也加剧了后期修改和维护的成本。除此之外,爬虫经验不那么丰富的新人可能并不能很顺利地编写和接手别人的爬虫程序。所以,本文设计和实现了一个通用的工具化爬虫系统,它提供配置文件的方式来让爬虫开发者快速、灵活地定制针对自己想抓取的目标网站的爬虫,而不需要编写繁琐的程序,使得爬虫的编写和维护变得简单。本文所设计的爬虫不是针对特定网站编写的,而是将爬虫工具化、通用化,使得用户使用配置文件的方式和少量的抓取逻辑代码即可完成对目标网站的抓取。为了实现让用户编写爬虫变得简单,本系统对用户隐藏了爬虫的各种复杂模块,具有高度抽象的架构设计。通过对爬虫技术和相关算法的调研,本爬虫系统在Scrapy框架的基础上进行二次开发,设计和实现了支撑性模块来保证爬虫的健壮性、高效性,并对现有的相关技术实现做出一些改进。最后通过系统测试验证了本爬虫系统的稳定性和高效性,并对本文进行了总结与展望。