SeimiCrawler v0.1.0发布了
SeimiCrawler v0.1.0终于熬过了他漫漫的开发旅程,对外发布了,目前已经同步至中央maven库。dependency:
<dependency>
<groupId>cn.wanghaomiao</groupId>
<artifactId>SeimiCrawler</artifactId>
<version>0.1.0</version>
</dependency>
简介
SeimiCrawler是一个敏捷的,支持分布式的爬虫开发框架,希望能在最大程度上降低新手开发一个可用性高且性能不差的爬虫系统的门槛,以及提升开发爬虫系统的开发效率。在SeimiCrawler的世界里,绝大多数人只需关心去写抓取的业务逻辑就够了,其余的Seimi帮你搞定。设计思想上SeimiCrawler受Python的爬虫框架Scrapy启发很大,同时融合了Java语言本身特点与Spring的特性,并希望在国内更方便且普遍的使用更有效率的XPath解析HTML,所以SeimiCrawler默认的HTML解析器是JsoupXpath,默认解析提取HTML数据工作均使用XPath来完成(当然,数据处理亦可以自行选择其他解析器)。
请问分布式是怎么实现的呢?各个节点之间的队列信息怎么共享呢?
默认的分布式实现是基于redis队列的,queue实现需配置为DefaultRedisQueue 。每个节点都指向同一个redis服务即可。可以参考文档 DefaultRedisQueue 这一部分内容
ConcurrentSkipListSet排重不合适吧,程序当掉重启后就无法排重了,还是持久化到磁盘更好??
下载了楼主的爬虫,研究中。。。,谢谢分享