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中,幫助文檔獲得了極大的增強,除了豐富和細致的在線文檔之外:
還在各個模塊下方提供圖文並茂的說明,當你不知道該按鈕的作用時,鼠標放在該按鈕上保持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!