-
Notifications
You must be signed in to change notification settings - Fork 151
Home
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 和内存进行实时监控
- Configuration
- Downloader
- vertx webclient
- urlconnection
- http client
- okhttp3
- file
- selenium
- Chrome
- Firefox
- IE
- Phantomjs
- htmlunit
- Queue
- ConcurrentLinkedQueue
- Disruptor
- Redis
- Kafka
- RabbitMQ
- RocketMQ
- Parser
- Pipeline
- Rate limiting
- RPC
- Jobs
- Vert.x EventBus
- User Agent Pools
- IP Pools
- Cookies Pools
- Monitor
- Spider
- SpiderEngine
- DSL
- Coroutines
- ChangeLog