四、版本更新日志

版本 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、页面生僻字中文乱码处理;