純Go語言編寫的重量級爬蟲軟件:Pholcus(幽靈蛛)

jopen 9年前發布 | 64K 次閱讀 Pholcus 網絡爬蟲


Pholcus(幽靈蛛)是一款純Go語言編寫的重量級爬蟲軟件,清新的GUI界面,優雅的爬蟲規則、可控的高并發、任意的批量任務、多種輸出方式、大量Demo,支持橫縱向兩種抓取模式,支持模擬登錄和任務取消等,并且考慮了支持分布式布局。

框架模塊

image

框架特點

  1. Pholcus(幽靈蛛)以高效率,高靈活性和人性化設計為開發的指導思想;

  2. 繼承Go語言“少即是多”的風格,GUI界面盡量少得呈現技術層面的參數配置,而在程序內部做智能化參數調控;

  3. 對采集規則進行了精心設計,結構化規則、高度封裝、通用方法集、自由靈活的發揮空間,讓你輕松添加規則;

  4. 每個pholcus程序既可以是服務器也可以是客戶端,通過socket傳遞request來實現任務分發,其中hpolcus模塊充當管理核心的角色,負責分發給其他節點和本地隊列請求以及實時log,(比如,讓Pholcus軟件同時在10臺電腦運行,你就擁有了10個節點,自然形成分布式)。目前該功能的架構已經初步完成,接口即將實現,敬請關注;

  5. 支持橫縱向兩種抓取模式,并支持任務取消操作。

GUI界面

隨時改進中,該截圖僅供參考!

image

初次安裝

go get github.com/henrylee2cn/pholcus

編譯運行

go install -ldflags="-H windowsgui"

或者

go build -ldflags="-H windowsgui"

添加ICON

image

添加規則

  • 添加一條規則的方法:只需在“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"

項目主頁:http://www.baiduhome.net/lib/view/home/1434943676544

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!