vscrawler 0.2.6 发布,抓取复杂交互逻辑的爬虫框架

栏目: Java · 发布时间: 8年前

内容简介:vscrawler 0.2.6 发布,抓取复杂交互逻辑的爬虫框架

vscrawler是一个抓取复杂交互逻辑的爬虫框架,适合进行app数据抓取、需要登录的抓取、抓取封堵突破、在线抓取(抓取请求交由上游控制,如暴露http接口)、离线抓取(抓取任务入库,然后任务调度交由框架控制)。

自上次0.2.2发布后,连续多次发布到了0.2.6,这是因为vscrawler在公司内部使用,线上系统无法引用非公司仓库snapshot依赖。不过多次更新后,vscrawler在线抓取模块已经在我司稳定运行。

本次主要更新如下:

  1. session pool关于session分发速度优化,超时控制逻辑优化。避免了session获取无效等待,优化在线抓取接口响应速度。同时允许外部接口控制抓取超时参数

  2. session pool中,session数量异常膨胀问题,该问题为session pool中一个参数判定有误导致的。

  3. 资源管理器中,资源操作加锁失败问题修复,资源自leave queue中recovery时,可能导致资源数据丢失问题。

  4. 修复爬虫停止时seesion未触发销毁回调的问题,这会导致爬虫停止,爬虫所需要的数据不会feedback,进而触发资源管理器不会将该资源解锁。(短时间大量重启将会导致资源管理器不能分发到资源,如不能获取账户数据等)

  5. 实现 redis 分段资源队列,分段队列牺牲了轮询队列里面部分资源顺序准确性,换来了在redis链表上面更少的轮询操作,降低redis操作时间复杂度。可以用来处理上十万的资源管理。

  6. 修复用户登录插件中,登录失败未标记session无效的bug,该问题将会导致无效session也作为资源分发给抓取业务。导致抓取逻辑无法正常获取数据(以前没有深究这个问题,都是抓取是手动判断session状态,然后重试任务)。

  7. 增加session回收生命周期回调点(SessionRecycleEvent),业务方可以监听该事件,触发对应逻辑

  8. 爬虫启动的瞬间停止,将会触发种子管理器一个并发操作异常。这是因为框架在未初始化完成的时候就开始了种子管理器销毁动作,导致组件并发操作。现在将逻辑加锁,避免该问题。

  9. pipine中,关于抓取结果存储,修改为object(之前为string)。这是我感觉之前设计不太友好的地方,受用户建议,更改为object。所以本次升级,pipline的接口和老版本不兼容(本次升级为不兼容升级)

  10. 在爬虫以all in one的jar包的方式运行的时候,无热发配置文件,框架强制监控热发文件将会导致io异常,所以爬虫以独立jar包的方式运行的时候,取消热发配置文件功能。

  11. 修复spring boot使用vscrawler的时候,无法使用all in one的方式运行的bug。该bug为spring boot重写了classloader,导致vscrawler内置类扫描器无法解析spring boot ClassLoader中注册的jar文件导致的。本次升级适配了spring boot 打独立jar包的运行模式对应的classLoader中jar包资源jar文件的索引方案。

vscrawler项目地址:

码云: https://gitee.com/virjar/vscrawler

github: https://github.com/virjar/vscrawler

vscrawler官方文档地址: http://vscrawler.virjar.com/


以上所述就是小编给大家介绍的《vscrawler 0.2.6 发布,抓取复杂交互逻辑的爬虫框架》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

iOS软件开发揭密

iOS软件开发揭密

虞斌 / 电子工业出版社 / 2011-5-1 / 79.00元

本书以严密的体系性提供了iPhone和iPad软件开发从入门到专家的系统性知识,并提供来源于真实项目的可重用商业代码。书中的每个实例都是项目经验的提炼,深入浅出地讲解iPhone和iPad软件开发的核心技术要点,基本涵盖了iOS软件开发在真实商业项目中所需要的所有主题,并将实例介绍的技术深度和超值的实用性结合在一起,成为本书的特色。 随书附赠的光盘中包含了书中大量案例的完整工程源代码,可以让......一起来看看 《iOS软件开发揭密》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具