純Go語言編寫的重量級爬蟲軟件:Pholcus(幽靈蛛)
Pholcus(幽靈蛛)是一款純Go語言編寫的重量級爬蟲軟件,清新的GUI界面,優雅的爬蟲規則、可控的高并發、任意的批量任務、多種輸出方式、大量Demo,支持橫縱向兩種抓取模式,支持模擬登錄和任務取消等,并且考慮了支持分布式布局。
框架模塊
框架特點
-
Pholcus(幽靈蛛)以高效率,高靈活性和人性化設計為開發的指導思想;
-
繼承Go語言“少即是多”的風格,GUI界面盡量少得呈現技術層面的參數配置,而在程序內部做智能化參數調控;
-
對采集規則進行了精心設計,結構化規則、高度封裝、通用方法集、自由靈活的發揮空間,讓你輕松添加規則;
-
每個pholcus程序既可以是服務器也可以是客戶端,通過socket傳遞request來實現任務分發,其中hpolcus模塊充當管理核心的角色,負責分發給其他節點和本地隊列請求以及實時log,(比如,讓Pholcus軟件同時在10臺電腦運行,你就擁有了10個節點,自然形成分布式)。目前該功能的架構已經初步完成,接口即將實現,敬請關注;
-
支持橫縱向兩種抓取模式,并支持任務取消操作。
GUI界面
隨時改進中,該截圖僅供參考!
初次安裝
go get github.com/henrylee2cn/pholcus
編譯運行
go install -ldflags="-H windowsgui"
或者
go build -ldflags="-H windowsgui"
添加ICON
添加規則
-
添加一條規則的方法:只需在“henrylee2cn/pholcus/spiders/”中增加一個采集規則(go文件),框架將自動添加該規則到GUI任務列表!
第三方依賴包
go get "github.com/lxn/walk" go get "github.com/lxn/win" go get "github.com/PuerkitoBio/goquery" go get "github.com/henrylee2cn/surfer" go get "github.com/bitly/go-simplejson" go get "github.com/tealeg/xlsx" go get "gopkg.in/mgo.v2" go get "code.google.com/p/mahonia" go get "golang.org/x/net/html/charset"
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!