Skip to content
Tony Shen edited this page Feb 13, 2019 · 32 revisions

NetDiscovery 是基于 Vert.x、RxJava 2 等开源库实现的爬虫框架。 (最近开始补wiki文档)

功能特点:

  • 轻量级爬虫
  • 约定大于配置
  • 模块化设计,便于扩展:支持多种消息队列、多种网络框架,也支持自己实现。
  • 多线程、异步化:底层使用 RxJava 的多线程机制
  • 支持 Kotlin 协程
  • 支持 JS 渲染
  • 支持分布式
  • Request 支持自定义header信息
  • Request 支持 debug 功能:在调试时可以使用 RxCache,从而避免多次请求同一个网页。
  • 支持失败重试的机制
  • 代理池的整合
  • 支持 User Agaent 池、Cookies 池
  • 支持爬虫的深度抓取:能够在 Pipeline 中发起深度抓取的事件。
  • 支持 URL 去重:使用布隆过滤器
  • 超时控制:支持设置爬虫请求的超时时间;
  • 爬虫的监控
  • agent 模块能够对当前服务器的 CPU 和内存进行实时监控

NetDiscovery 基本原理:

1. core 模块的 uml 类图

2.基本原理

3.集群原理

Getting Started

Kotlin

Information

  • ChangeLog
Clone this wiki locally