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

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

内容简介: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 发布,抓取复杂交互逻辑的爬虫框架》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

算法设计

算法设计

Jon Kleinberg、Éva Tardos / 张立昂、屈婉玲 / 清华大学出版社 / 2007-3-1 / 75.00元

算法设计,ISBN:9787302143352,作者:(美)克林伯格(Kleinberg,J.),()塔多斯(Tardos,E.) 著,张立昂,屈婉玲 译一起来看看 《算法设计》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具