(Hawk尚未正式發(fā)布,本文只做功能性預(yù)覽和內(nèi)測使用)
Hawk是一款開源圖形化的爬蟲和數(shù)據(jù)清洗工具,GitHub Star超過2k+,前幾代版本介紹如下:
Hawk3: 終于等到你: 圖形化開源爬蟲Hawk 3發(fā)布!
Hawk2: 120項(xiàng)優(yōu)化: 超級爬蟲Hawk 2.0重磅發(fā)布!
Hawk1: 如何從互聯(lián)網(wǎng)采集海量數(shù)據(jù)?租房,二手房,薪酬...
Hawk從2015年開源,但Hawk5則帶來了其歷史上最大的更新,解決諸多bug,提供開放的任務(wù)市場,手機(jī)app嗅探和更強(qiáng)大的調(diào)試系統(tǒng)。 因此我們直接跳過Hawk4,發(fā)布Hawk5。

那么Hawk5帶來哪些讓人興奮的更新呢? 大招在最后!
Hawk5對界面做了進(jìn)一步的完善和微調(diào),使用更人性化:

斷點(diǎn)續(xù)跑和自動保存
Hawk早期版本不穩(wěn)定,用戶正在編輯任務(wù)或處理數(shù)據(jù)時(shí),Hawk撲街了!
Hawk5能自動保存任務(wù),數(shù)據(jù)表,甚至當(dāng)前執(zhí)行的位置!一旦關(guān)閉或崩潰,不要怕!數(shù)據(jù)一條沒丟,重啟后,還能從上次中斷繼續(xù)運(yùn)行!就像斷點(diǎn)續(xù)傳一樣,顫抖吧筒子們!
自動回補(bǔ)數(shù)據(jù)
這是另一革命性功能,由于訪問網(wǎng)站經(jīng)常會超時(shí)或不可訪問,想一次性抓取且不重不漏是非常困難的。
Hawk5支持批量補(bǔ)數(shù)據(jù)。當(dāng)發(fā)生異常時(shí),Hawk會將異常和上下文寫入數(shù)據(jù)表,之后即可智能重新執(zhí)行,將數(shù)據(jù)不重不漏地回補(bǔ)回來,如下圖所示:
超級文檔,自動更新和多國語言
Hawk5中,幫助文檔獲得了極大的增強(qiáng),除了豐富和細(xì)致的在線文檔之外:

還在各個(gè)模塊下方提供圖文并茂的說明,當(dāng)你不知道該按鈕的作用時(shí),鼠標(biāo)放在該按鈕上保持3秒就有貼心提示出現(xiàn)!
更貼心的是,設(shè)計(jì)完任務(wù)后,一鍵即可生成手把手幫助文檔。新手按部就班即可重重現(xiàn)該功能!
Hawk5進(jìn)一步地提供了多國語言,能方便地在中文,English或其他任何語言切換,只要在執(zhí)行目錄增加對應(yīng)的語言文件即可!
同時(shí),Hawk的自動更新機(jī)制,能夠讓迭代更加敏捷,有新版本的Hawk即可一鍵更新,媽媽再也不用擔(dān)心Hawk出現(xiàn)bug了!
全局參數(shù)
早期的Hawk,多任務(wù)間協(xié)同比較復(fù)雜,子任務(wù)也不能徹底解決該問題。
Hawk5中提供了全局參數(shù)系統(tǒng),可以在任何模塊中,使用大括號引用你已經(jīng)配置的參數(shù),并能在多個(gè)參數(shù)組間切換。

這有什么用呢?舉個(gè)栗子,當(dāng)二手房抓取時(shí),每個(gè)城市們頁面格式和地址都不相同, 需要手工切換多個(gè)參數(shù)。使用全局參數(shù)后,切換配置組即可一鍵在不同城市間切換!
調(diào)試系統(tǒng)和UI交互改進(jìn)
早期Hawk在配置錯(cuò)誤時(shí),一條數(shù)據(jù)都出不來,卡住的不僅是Hawk,還有用戶的心。
Hawk5提供了更加方便的調(diào)試系統(tǒng),每個(gè)模塊是否正常工作,會以綠色方格提醒,一目了然。當(dāng)任務(wù)的某個(gè)模塊出現(xiàn)異常時(shí)會及時(shí)提示。
超級拷貝,可以通過shift鍵,選擇多個(gè)模塊,在多個(gè)任務(wù)間拷貝。你甚至還能將Hawk自動嗅探出的網(wǎng)頁XPath結(jié)構(gòu)一鍵拷貝為python代碼,極大地簡化爬蟲工程師的工作!

是否已經(jīng)被網(wǎng)站封鎖?總共進(jìn)行了多少次請求?全局統(tǒng)計(jì)系統(tǒng)能夠方便的顯示當(dāng)前總的web請求數(shù),異常數(shù),超時(shí)數(shù),當(dāng)錯(cuò)誤數(shù)達(dá)到閾值時(shí),更能自動暫停所有的任務(wù)!

除此之外,新版的Hawk更是改進(jìn)了UI設(shè)計(jì),例如XPath轉(zhuǎn)換器,能夠通過關(guān)鍵字快速定位,幾次點(diǎn)選即可獲取真實(shí)XPath。
社會化協(xié)作:任務(wù)市場
以前所有的Hawk用戶只能各自為政,無法共享和溝通。
在新的Hawk中,你可以瀏覽任務(wù)市場,直接加載遠(yuǎn)程任務(wù)和瀏覽數(shù)據(jù),并方便地組合其他人的任務(wù)。像BT站一樣,作者發(fā)布數(shù)據(jù)清洗工程后,所有的Hawk用戶就會立即受益!

以前想抓取全國二手房很復(fù)雜,且不能應(yīng)對網(wǎng)站改版。在Hawk市場只要輕輕點(diǎn)擊加載任務(wù)即可,所見即所得,一鍵將數(shù)據(jù)導(dǎo)出到Excel。
這是Hawk本次更新的最重要的功能,它極大地改善了Hawk社會化協(xié)作,基于GitHub。由于賬號系統(tǒng)的限制,目前還不能在軟件中直接上傳任務(wù)(未來會提供),如果你希望向主倉庫貢獻(xiàn)任務(wù),可提交git的pull request。
在AI時(shí)代,通過大量用戶使用Hawk的行為和任務(wù)市場的積累,我們能夠通過強(qiáng)化學(xué)習(xí)等技術(shù),自動讓AI學(xué)出自動的數(shù)據(jù)清洗和轉(zhuǎn)換服務(wù),讓Hawk變得更加智能。
無限想象:自動搶票,翻譯,圖片識別...
如果你只以為Hawk就是個(gè)爬蟲,那就錯(cuò)了,Hawk是個(gè)通用的流式計(jì)算客戶端。未來Hawk市場,不僅會有共享的任務(wù),更會引入第三方插件機(jī)制,極大地?cái)U(kuò)展Hawk流式計(jì)算的版圖。
目前正在開發(fā)中的瀏覽器驅(qū)動插件,能夠讓Hawk自動控制瀏覽器,模擬點(diǎn)擊,翻頁等一系列操作,你要做的只是做一遍后導(dǎo)入到Hawk。通過配置數(shù)據(jù)清洗流,能夠?qū)崿F(xiàn)自動搶票,鍵盤輸入等一系列功能。
Hawk5的手機(jī)遠(yuǎn)程嗅探功能,能方便的抓取手機(jī)app的數(shù)據(jù)。
未來的插件能夠更方便地調(diào)用百度識圖,翻譯轉(zhuǎn)換以及各類服務(wù)存儲API,讓更多用戶能夠通過Hawk拖拽就能實(shí)現(xiàn)豐富的數(shù)據(jù)處理,并導(dǎo)出成任何格式。
我們對Hawk的理念,是開源,去中心化和社會化協(xié)作。它沒有公司去運(yùn)營,沒有中心服務(wù)器,只依賴了免費(fèi)的GitHub倉庫,使用文檔和教程都是機(jī)器自動生成的。但它也在各種艱難中一路走來,但我們對Hawk的愿景是讓數(shù)據(jù)流變得更加智能,讓數(shù)據(jù)工作者變得更加地敏捷方便。
感謝閱讀,如果Hawk給你提供了幫助,歡迎轉(zhuǎn)發(fā)本文給更多的朋友,并歡迎給本項(xiàng)目的GitHub點(diǎn)個(gè)star!