当然还有很多用java语言开发的爬虫项目,有nutch著名的DougCutting赞助的,还有Apache下的top项目。它是一个开源的网络爬虫,使用MapReduce以分布式的方式抓取和分析web信息。Kafka是LinkedIn于2010年12月开发并开源的分布式流媒体平台。现在是Apache的顶级项目,是高性能的跨语言分发。

GitHub上有哪些优秀的Java爬虫项目?

GitHub上有哪些优秀的Java爬虫项目

首先声明一点,业界一般都是用pyhon去做爬虫。当然用java语言开发的很有很多一nutch大名鼎鼎的Doug Cutting发起的爬虫项目,Apache下顶级的项目,是一个开源的网络爬虫,采用MapReduce分布式爬取和解析网页信息。github地址https://github.com/apache/nutch,上面附有官方地址。

官方二Heritrixjava开发的开源Web爬虫系统,用来获取完整的精确的站点内容的深度复制,扩展性强,功能齐全,文档完整。github地址https://github.com/internetarchive/heritrix3,里面包含了文档等信息。三Gecco轻量易用的网络爬虫框架,整合了 jsouphttpclientfastjsonspringhtmlunitredission 等优秀框架。

有优秀的可扩展性,框架基于开闭原则进行设计,对修改关闭对扩展开放。github地址https://github.com/xtuhcy/gecco,内含官网地址。四crawler4j是一个开源的Java类库提供一个用于抓取Web页面的简单接口。简单易于使用,支持多线程支持代理过滤重复URL等功能。

可以在几分钟内设置一个多线程的网络爬虫。github地址https://github.com/yasserg/crawler4j,内含使用文档。还有很多其他的java优秀爬虫项目,就不一一说来了,如WebCollectorWebMagicSpidermanSeimiCrawler一大堆的。另外实用就好,没必要全部去了解。

常见的消息队列有哪些,它们之间什么区别

常见的消息队列有哪些,它们之间有什么区别

rabbitMQ:RabbitMQ是基于Erlang语言编写的开源消息队列。RabbitMQ在数据一致性稳定性和可靠性方面比较优秀,而且直接或间接的支持多种协议,对多种语言支持良好。但是其性能和吞吐量差强人意,由于Erlang语言本身的限制,二次开发成本较高。kafka:Kafka是LinkedIn于2010年12月开发并开源的一个分布式流平台,现在是Apache的顶级项目,是一个高性能跨语言分布式。

快速持久化,可以在O(1)的开销下持久化消息。高吞吐量的ActiveMQ:是Apache下的子项目,介于ZeroMQ和RabbitMQ之间。类似RabbitMQ,可以用少量代码高效实现高级应用场景,只需要付出低消耗。被称为消息中间件的瑞士军刀。但是ActiveMQ不够轻,在队列比较多的情况下支持不好。据说有消息丢失的情况。


文章TAG:apache顶级项目有哪些  apache  队列  顶级  项目  
下一篇