四、版本更新日志
版本 V1.0.0,新特性[2017-09-13]
- 1、面向对象:通过VO对象描述页面信息,提供注解方便的映射页面数据,爬取结果主动封装Java对象返回;
- 2、多线程:线程池方式并行运行;
- 3、异步:支持同步、异步两种方式运行;
- 4、扩散全站:支持以入口URL为起点扩散爬取整站;
- 5、去重:防止重复爬取;
- 6、URL白名单:支持设置页面白名单正则,过滤URL;
- 7、自定义请求信息,如:请求参数、Cookie、Header、UserAgent轮询、Referrer等;
- 8、轻量级:底层实现仅依赖jsoup,简洁高效;
- 9、超时控制:支持设置爬虫请求的超时时间;
- 10、主动停顿:爬虫线程处理完页面之后进行主动停顿,避免过于频繁被拦截;
11、单个页面支持抽取一个或多个PageVO;
版本 V1.1.0,新特性[2017-11-08]
1、页面默认cssQuery调整为html标签;
- 2、升级Jsoup至1.11.1版本;
- 3、修复PageVO注解失效的问题;
- 4、属性注解参数attributeKey调整为selectVal;
- 5、代理IP:对抗反采集策略规则WAF;
6、动态代理:支持运行时动态调整代理池,以及自定义代理池路由策略;
版本 V1.2.0,新特性[2017-12-14]
1、爬虫Builder底层API优化;
- 2、支持设置请求Headers;
- 3、支持设置多UserAgent轮询;
- 4、失败重试:支持请求失败后主动重试,并支持设置重试次数;
- 5、动态参数:支持运行时动态调整请求参数;
6、分布式支持:支持自定义RunData(运行时数据模型)并结合Redis或DB共享运行数据来实现分布式。默认提供LocalRunData单机版爬虫。
版本 V1.2.1,新特性[2018-02-07]
1、JS渲染:支持JS渲染方式采集数据,可参考 &# 34;爬虫示例6&# 34;;
- 2、抽象并设计PageLoader,方便自定义和扩展页面加载逻辑,如JS渲染等。底层提供 &# 34;JsoupPageLoader(默认/推荐)&# 34;,&# 34;HtmlUnitPageLoader&# 34;两种实现,可自定义其他类型PageLoader如 &# 34;Selenium&# 34; 等;
- 3、修复Jsoup默认加载1M的限制;
4、爬虫线程中断处理优化;
版本 V1.2.2,新特性[2018-10-24]
1、系统底层重构,规范包名;
- 2、采集线程白名单过滤优化,避免冗余失败重试;
- 3、增强JS渲染方式采集能力,原生新提供 &# 34;SeleniumPhantomjsPageLoader&# 34;,支持以 &# 34;selenisum + phantomjs&# 34; 方式采集页面数据;
4、支持采集非Web页面,如JSON接口等,直接输出响应数据;选择 &# 34;NonPageParser&# 34; 即可;
版本 V1.3.0,新特性[迭代中]
1、[ING]增强JS渲染采集能力,原生提供 &# 34;selenium chrome headless&# 34; 方案实现,并提供开箱即用的 PageLoader ;
2、[ING]进一步优化 selenium 特性兼容问题;
TODO LIST
1、扩展SelectType;
- 2、协程,搁置,jsoup/htmlunit/selenisum协程兼容性低;
- 3、bloomfilter去重,可选接入,大数据量下推荐;
- 4、对抗爬虫蜜罐,成功率检测,历史数据学习;
- 5、对抗主动休眠防御,Timeout即可;
- 6、页面生僻字中文乱码处理;