WebDigger是一个采用Java开发的爬虫框架。WebDigger的目标是简化爬虫的开发流程,让开发者只用关心抓取页面的数据提取和数据保存的逻辑。WebDigger也提供注解的方式来配置要抓取的网页数据,以减少代码的开发。项目地址
组件
Digger
负责控制数据流在系统中所有组件中流动,并在相应动作发生时触发事件。Scheduler
调度器从引擎接受request并将他们入队,以便之后引擎请求他们时提供给引擎。Downloader
下载器负责获取页面数据Response,供Processor模块进行数据提取Processor
是用于分析response并提取item(需要的抓取的具体的数据)。每个spider的Processor负责处理一个特定(或一些)网站。网页数据提取支持Jsoup和Xpath的方式。Storage
负责处理被Processor提取出来的item。主要是用来将item进行持久化操作(保存到文件,打印输出等)。
下面是一个抓取豆瓣图书的例子
1 | public class DBBookSpider extends Spider { |
基于注解方式的抓取数据的定义
1 | public static class QQTechModel extends CrawlerModel { |
ps: 欢迎有兴趣的同学,一起沟通学习~