xxl-crawler 分布式爬虫框架开源项目

我要开发同款
匿名用户2017年11月03日
11阅读
开发技术Java
所属分类应用工具、网络爬虫
授权协议GPL

作品详情

分布式爬虫框架XXL-CRAWLER

XXL-CRAWLER是一个分布式爬虫框架。一行代码开发一个分布式爬虫,拥有"多线程、异步、IP动态代理、分布式、JS渲染"等特性;

特性

1、简洁:API直观简洁,可快速上手;

2、轻量级:底层实现仅强依赖jsoup,简洁高效;

3、模块化:模块化的结构设计,可轻松扩展

4、面向对象:支持通过注解,方便的映射页面数据到PageVO对象,底层自动完成PageVO对象的数据抽取和封装返回;单个页面支持抽取一个或多个PageVO

5、多线程:线程池方式运行,提高采集效率;

6、分布式支持:通过扩展"RunData"模块,并结合Redis或DB共享运行数据可实现分布式。默认提供LocalRunData单机版爬虫。

7、JS渲染:通过扩展"PageLoader"模块,支持采集JS动态渲染数据。原生提供Jsoup(快速、推荐)和HtmlUnit(较慢、JS渲染)两种实现,支持自由扩展其他实现。

8、失败重试:请求失败后重试,并支持设置重试次数;

9、代理IP:对抗反采集策略规则WAF;

10、动态代理:支持运行时动态调整代理池,以及自定义代理池路由策略;

11、异步:支持同步、异步两种方式运行;

12、扩散全站:支持以现有URL为起点扩散爬取整站;

13、去重:防止重复爬取;

14、URL白名单:支持设置页面白名单正则,过滤URL;

15、自定义请求信息,如:请求参数、Cookie、Header、UserAgent轮询、Referrer等;

16、动态参数:支持运行时动态调整请求参数;

17、超时控制:支持设置爬虫请求的超时时间;

18、主动停顿:爬虫线程处理完页面之后进行主动停顿,避免过于频繁被拦截;

文档地址

中文文档

技术交流

社区交流

查看全文
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论