vscrawler 0.3.0 釋出,抓取複雜互動邏輯的爬蟲框架

類別: IT

vscrawler是一個爬蟲框架,用來突破各類網站封禁策略。到目前vscrawler已經支援了很多特性。

  1. 0.0.x vs基礎結構確定

  2. 0.1.x 對資料抽取進行完整設計,包括xpath、鏈式抽取、字串函式集、表格資料定位

  3. 0.2.0 支援執行多個爬蟲例項(context隔離)

  4. 0.2.1 支援註解爬蟲

  5. 0.2.2 完整設計爬蟲資源佇列管理,處理資源的分發、封禁、解禁、多機器分發隔離,用來處理賬號、裝置號、token等可複用資源

  6. 0.2.3-6 同步抓取介面,關於超時時間的各種優化(同步抓取系統需要實時性),自此vscrawler在離線抓取和線上抓取上面都得到了工程性的驗證

  7. 0.3.x web端的實現,除了常規框架支援的爬蟲啟停控制,還提供爬蟲程式碼熱替換、抓取封裝為restful介面兩個特色功能

這次我實現了vscrawler 0.3.0,最主要的功能是實現了一個爬蟲管理平臺,爬蟲平臺支援任何基於vscrawler的爬蟲實現在該平臺進行熱部署(jar包的方式)。vscrawler的前端程式碼在vscrawler專案外部,其地址為:https://gitee.com/virjar/vscrawler-frontend

除了熱載入之外,這次藉助於web專案的開發,暴露了線上抓取介面,使用方可以在載入自己的爬蟲實現之後,直接通過restful介面實現資料抓取的呼叫。線上介面能夠同時又session複用,資源佇列,資料抽取等能力,同時vscrawler也支援了線上抓取和批量抓取在系統中共存。也即可以同時存在推拉兩種模式。

除此之外,本次更新刪除了基於bloomFilter進行任務消重的功能。讓任務直接在db層面進行消重。vscrawler內建的BerkeleyDB完全能夠滿足高效消重的需求了。

web端剛剛實現,由於涉及使用者互動,可能真的有些沒有覆蓋測試完整的bug,各位輕噴。

ps:0.2.6在我司已經執行半年多了,至今沒有出現過問題,一直穩定提供資料,應該沒啥大問題:-D

另外,非常感謝楊博文幫助我實現vscrawler的前端@ https://gitee.com/wssss

vscrawler 0.3.0 釋出,抓取複雜互動邏輯的爬蟲框架原文請看這裡