Pholcus(幽灵蛛)是一款纯Go语言编写的重量级爬虫软件,清新的GUI界面,优雅的爬虫规则、可控的高并发、任意的批量任务、多种输出方式、大量Demo,更重要的是它支持socket长连接、全双工并发分布式,支持横纵向两种抓取模式,支持模拟登录和任务取消等。
-
Pholcus(幽灵蛛)以高效率,高灵活性和人性化设计为开发的指导思想;
-
继承Go语言“少即是多”的风格,GUI界面尽量少得呈现技术层面的参数配置,而在程序内部做智能化参数调控;
-
对采集规则进行了精心设计,结构化规则、高度封装、通用方法集、自由灵活的发挥空间,让你轻松添加规则;
-
每个pholcus程序既可以是服务器也可以是客户端,通过socket传递request来实现任务分发,其中node模块充当管理核心的角色,负责分发给其他节点和本地队列请求以及实时log,比如,让Pholcus软件同时在10台电脑运行,你就拥有了10个节点,自然形成分布式。
-
支持横纵向两种抓取模式,并支持任务取消操作。
- 这里下载需要翻墙的依赖包
- 下载其他全部源码,命令行如下
go get github.com/henrylee2cn/pholcus
go install -ldflags="-H windowsgui" pholcus-gui.go
或者
go build -ldflags="-H windowsgui" pholcus-gui.go
编译命令: go install pholcus-cmd.go 或者 go build pholcus-cmd.go
查看命令参数: pholcus-cmd.exe -h
执行爬虫命令: pholcus-cmd.exe -spider=3,8 -output=csv -go=500 -docker=5000 -pase=1000,3000 -kw=pholcus,golang -page=100
(注:花括号“{}”中为选择参数或参数格式,多个参数值之间用逗号“,”间隔,各项参数根据采集规则的需要自行设置)
随时改进中,该截图仅供参考!
- 添加一条规则的方法:只需在“henrylee2cn/pholcus/spider/spiders/”中增加一个采集规则(go文件),框架将自动添加该规则到GUI任务列表!
go get "github.com/henrylee2cn/surfer"
go get "github.com/henrylee2cn/teleport"
go get "github.com/PuerkitoBio/goquery"
go get "github.com/bitly/go-simplejson"
go get "github.com/henrylee2cn/mahonia"
go get "github.com/andybalholm/cascadia"
go get "github.com/lxn/walk"
go get "github.com/lxn/win"
go get "github.com/tealeg/xlsx"
go get "github.com/go-sql-driver/mysql"
go get "gopkg.in/mgo.v2"
<以下需翻墙下载>
go get "golang.org/x/net/html"
go get "golang.org/x/text/encoding"
go get "golang.org/x/text/transform"
(在此对以上依赖包的开源项目表示感谢!)
Pholcus(幽灵蛛)项目采用商业应用友好的Apache License v2.发布