WebHunger is an extensible, full-scale crawler framework that supports distributed crawling, aiming at getting users focused on web page parsing without concerning for the crawling process.
首先,总结下当前各类爬虫,其特点以及对应的开源爬虫框架
爬虫类型 | 爬取数量 | 被禁风险 | 开源框架 |
---|---|---|---|
搜索引擎爬虫 | 未知 | 最低 | Nutch |
垂直型爬虫 | 确定 | 适中 | WebMagic SpiderMan |
全站式爬虫 | 未知 | 最高 | 无 |
此外,实验室平日工作需要全站式爬虫。在工作过程中,也发现其他同学想要更多数据进行实验,但苦于爬虫系统上手不易,需要通过我的帮助。于是就诞生了开发WebHunger的想法。
WebHunger名字由单词Web与Hunger([ˈhʌŋɡɚ])组成,寓意着对网页数据的渴望,旨在爬取更多的数据
WebHunger 是一个可扩展的、支持分布式爬取的全站式爬虫框架,旨在使用户专注
于页面处理逻辑的开发,而无需关心爬取过程。用户只需提交待爬取网站链接与页面处理类给框架,爬取完毕后,框架会及时将爬取结果返回给用户,用户无需掌握分布式编程、无需了解爬虫工作机制,大大降低了用户使用门槛。
为了使用户操作简便,WebHunger提供了一个基于Web UI的管理监控界面,部分截图如下所示:
以上是站点控制界面,可以对站点进行开始爬取、暂停、重新爬取等操作
以上是站点爬取过程中的界面,可以看到当前站点的爬取进度、页面处理进度,以及爬取错误的链接等信息
上图所有底色为黄色的组件都可以独立部署到任意服务器运行;实线表示本地调用;虚线表示远程调用
WebHunger共有以下几大部分组成: