https://ferventdesert.github.io/Hawk/

Hawk是一款由沙漠之鹰历时五年个人业余时间开发的,开源图形化爬虫和数据清洗工具,GitHub Star超过2k+,前几代版本介绍如下:

Hawk3: 终于等到你: 图形化开源爬虫Hawk 3发布!

Hawk2: 120项优化: 超级爬虫Hawk 2.0重磅发布!

Hawk1: 如何从互联网采集海量数据?租房,二手房,薪酬...

一键抓取二手房的教程如下: https://www.jianshu.com/p/859c314f58c5

Hawk从2015年开源,但Hawk5则带来了其历史上最大的更新,解决诸多bug,提供开放的任务市场,手机app嗅探和更强大的调试系统。 因此我们直接跳过Hawk4,发布Hawk5。

那么Hawk5带来哪些让人兴奋的更新呢? 大招在最后!

Hawk5对界面做了进一步的完善和微调,使用更人性化:

断点续跑和自动保存

Hawk早期版本不稳定,用户正在编辑任务或处理数据时,Hawk扑街了!

Hawk5能自动保存任务,数据表,甚至当前执行的位置!一旦关闭或崩溃,不要怕!数据一条没丢,重启后,还能从上次中断继续运行!就像断点续传一样,颤抖吧筒子们!

自动回补数据

这是另一革命性功能,由于访问网站经常会超时或不可访问,想一次性抓取且不重不漏是非常困难的。

Hawk5支持批量补数据。当发生异常时,Hawk会将异常和上下文写入数据表,之后即可智能重新执行,将数据不重不漏地回补回来,如下图所示:

超级文档,自动更新和多国语言

Hawk5中,帮助文档获得了极大的增强,除了丰富和细致的在线文档之外:

https://ferventdesert.github.io/Hawk/

还在各个模块下方提供图文并茂的说明,当你不知道该按钮的作用时,鼠标放在该按钮上保持3秒就有贴心提示出现!

更贴心的是,设计完任务后,一键即可生成手把手帮助文档。新手按部就班即可重重现该功能!

Hawk5进一步地提供了多国语言,能方便地在中文,English或其他任何语言切换,只要在执行目录增加对应的语言文件即可!

同时,Hawk的自动更新机制,能够让迭代更加敏捷,有新版本的Hawk即可一键更新,妈妈再也不用担心Hawk出现bug了!

全局参数

早期的Hawk,多任务间协同比较复杂,子任务也不能彻底解决该问题。

Hawk5中提供了全局参数系统,可以在任何模块中,使用大括号引用你已经配置的参数,并能在多个参数组间切换。

这有什么用呢?举个栗子,当二手房抓取时,每个城市们页面格式和地址都不相同, 需要手工切换多个参数。使用全局参数后,切换配置组即可一键在不同城市间切换!

调试系统和UI交互改进

早期Hawk在配置错误时,一条数据都出不来,卡住的不仅是Hawk,还有用户的心。

Hawk5提供了更加方便的调试系统,每个模块是否正常工作,会以绿色方格提醒,一目了然。当任务的某个模块出现异常时会及时提示。

超级拷贝,可以通过shift键,选择多个模块,在多个任务间拷贝。你甚至还能将Hawk自动嗅探出的网页XPath结构一键拷贝为python代码,极大地简化爬虫工程师的工作!

是否已经被网站封锁?总共进行了多少次请求?全局统计系统能够方便的显示当前总的web请求数,异常数,超时数,当错误数达到阈值时,更能自动暂停所有的任务!

除此之外,新版的Hawk更是改进了UI设计,例如XPath转换器,能够通过关键字快速定位,几次点选即可获取真实XPath。

社会化协作:任务市场

以前所有的Hawk用户只能各自为政,无法共享和沟通。

在新的Hawk中,你可以浏览任务市场,直接加载远程任务和浏览数据,并方便地组合其他人的任务。像BT站一样,作者发布数据清洗工程后,所有的Hawk用户就会立即受益!

以前想抓取全国二手房很复杂,且不能应对网站改版。在Hawk市场只要轻轻点击加载任务即可,所见即所得,一键将数据导出到Excel。

这是Hawk本次更新的最重要的功能,它极大地改善了Hawk社会化协作,基于GitHub。由于账号系统的限制,目前还不能在软件中直接上传任务(未来会提供),如果你希望向主仓库贡献任务,可提交git的pull request。

在AI时代,通过大量用户使用Hawk的行为和任务市场的积累,我们能够通过强化学习等技术,自动让AI学出自动的数据清洗和转换服务,让Hawk变得更加智能。

无限想象:自动抢票,翻译,图片识别...

如果你以为Hawk只是个爬虫,那就错了,Hawk是个通用的流式计算客户端。未来Hawk市场,不仅会有共享的任务,更会引入第三方插件机制,极大地扩展Hawk流式计算的版图。

目前正在开发中的浏览器驱动插件,能够让Hawk自动控制浏览器,模拟点击,翻页等一系列操作,你要做的只是做一遍后导入到Hawk。通过配置数据清洗流,能够实现自动抢票,键盘输入等一系列功能。

Hawk5的手机远程嗅探功能,能方便的抓取手机app的数据。

未来的插件能够更方便地调用百度识图,翻译转换以及各类服务存储API,让更多用户能够通过Hawk拖拽就能实现丰富的数据处理,并导出成任何格式。

我们对Hawk的理念,是开源,去中心化和社会化协作。它没有公司去运营,没有中心服务器,只依赖了免费的GitHub仓库,使用文档和教程都是机器自动生成的。但它也在各种艰难中一路走来,但我们对Hawk的愿景是让数据流变得更加智能,让数据工作者变得更加地敏捷方便。

感谢阅读,如果Hawk给你提供了帮助,欢迎转发本文给更多的朋友,并欢迎给本项目的GitHub点个star!

新数据革命: 开源C#图形化爬虫引擎Hawk5发布的更多相关文章

  1. 几款开源的图形化Redis客户端管理软件

    转载于:http://www.itxuexiwang.com/a/shujukujishu/redis/2016/0216/98.html?1455870209 Redis是一个超精简的基于内存的键值 ...

  2. 几款开源的图形化Redis客户端管理软件推荐

    Redis是一个超精简的基于内存的键值对数据库(key-value),一般对并发有一定要求的应用都用其储存session,乃至整个数据库.不过它公自带一个最小化的命令行式的数据库管理工具,有时侯使用起 ...

  3. 终于等到你: 图形化开源爬虫Hawk 3发布!

    超级图形化爬虫Hawk已经发布两年半时间了,2015年升级到第二版,收到上千条用户反馈(tucao),100多个红包,总共666块五毛~一直想攒着这笔钱,去北境之王天通苑的龙德商场买最心爱的阿迪王! ...

  4. 一键安装Docker图形化管理界面-Shipyard

    Shipyard是一款开源的图形化的Docker管理工具,记得以前安装很麻烦的,现在官方有了自动安装脚本,使用非常方便.复制.粘贴.使用,就这么简单.先不研究他是如何实现的,安装使用起来再说. $ c ...

  5. KONG -- 图形化管理(Kong Dashboard)

    前面安装的 KONG 的版本是社区版的 1.0.2,官方的 KONG Manager 好像只有企业版才提供.在 github 上找了一个开源的图形化管理应用 -- Kong Dashboard (ht ...

  6. 开源的.Net 工作流引擎Elsa初试——创建工作流服务器和图形化工作流配置管理应用

    微软的Workflow Foundation基于.Net Framework,并且没有向.Net Core迁移的计划.我们的很多项目使用了工作流引擎,这些项目向.Net Core以及更高版本迁移时遇到 ...

  7. 有评论就是我最大的动力~MySQL基础篇完结(存储引擎和图形化管理工具)

    hi 今天登上来,发现竟然有了3个评论~~加油吧! 这周的计划其实远远没有达到,然后下周还有一大堆事情...那么...周末好好玩吧~ 今天试图完结MySQL的基础篇知识,小白变为大白? 1.MySQL ...

  8. 分享一个基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具

    soar-web 基于小米 soar 的开源 sql 分析与优化的 WEB 图形化工具,支持 soar 配置的添加.修改.复制,多配置切换,配置的导出.导入与导入功能. 环境需求 python3.xF ...

  9. python爬虫爬取天气数据并图形化显示

    前言 使用python进行网页数据的爬取现在已经很常见了,而对天气数据的爬取更是入门级的新手操作,很多人学习爬虫都从天气开始,本文便是介绍了从中国天气网爬取天气数据,能够实现输入想要查询的城市,返回该 ...

随机推荐

  1. java基础(三)-----java的三大特性之多态

    面向对象编程有三大特性:封装.继承.多态. 封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时也保护了数据.对外界而已它的内部细节是隐藏的,暴露给外界的只是它的访问方法. 继承 ...

  2. VueJs 源码分析 ---(二)实力化生命周期,以及解析模版和监听数据变化

    Vue 源码第二步 当前 Vue 的版本 V2.2.2 生命周期 相关介绍 我们可以从 setp1 中 去看到那张 vue 的生命周期图中看到,vue 的生命周期钩子. 具体的钩子时干什么的? 以及在 ...

  3. VueJs 监听 window.resize 方法

    Vuejs 本身就是一个 MVVM 的框架. 但是在监听 window 上的 事件 时,往往会显得 力不从心. 比如 这次是 window.resize 恩,我做之前也是百度了一下.看到大家伙都为这个 ...

  4. 【Android】打开本地的html文件

    网上好多说法 但实际上说到点上的没有 不想写太长 直接进入正题 Intent intent = new Intent(Intent.ACTION_VIEW); intent.addCategory(I ...

  5. java~@Async异步功能

    @Async注解,可以实现异步处理的功能,它可以有返回值,或者直接在新线程时并行执行一个任务,对于异步来说,它的执行是有条件的,你需要把异步代码块放在单独的类里,当spring在注入时,才不会相互影响 ...

  6. 翻译 异步I/O不会创建新的线程

    异步I/O不会创建新的线程 本文翻译自 Stephen Cleary 的 [There is No Thread] 原文地址 https://blog.stephencleary.com/2013/1 ...

  7. TypeScript 素描 - 模块、命名空间

    /* 其实前面一些都是废话,因为都和C#类似.从模块开始就需要深入的去理解了 文档反复声明了 内部模块现在称做 命令空间 外部模块称为 模块 模块在其自身的作用域里执行,而不是在全局作用域里,也就是说 ...

  8. Lambda in Java VS in C#

    核心+变化 “凡是钱能解决的问题,就不是大问题.有很多问题是钱无法解决的,比如生老病死,比如不再相爱.”,看过<蜗居>的朋友一眼就能认出来.虽然这部电视剧讲的是chugui,但是毫无违和感 ...

  9. NLP入门(六)pyltp的介绍与使用

    pyltp的简介   语言技术平台(LTP)经过哈工大社会计算与信息检索研究中心 11 年的持续研发和推广, 是国内外最具影响力的中文处理基础平台.它提供的功能包括中文分词.词性标注.命名实体识别.依 ...

  10. C#委托与事件总结

    目录 C#委托与事件的总结 1.概述 2.委托 2.1 什么是委托 2.2 委託的使用 2.3 深入理解委托 2.4 为什么要使用委托 2.5 代码清单 3.事件 3.1 事件与委托的关系 3.2 订 ...