Pholcus简介
最近在学习go语言,想找个开源项目作为学习参考,因此找到了一个比较感兴趣的项目——Pholcus。这篇文章记录了Pholcus的本地构建过程。
Pholcus(幽灵蛛)是一款纯Go语言编写的支持分布式的高并发、重量级爬虫软件,定位于互联网数据采集,为具备一定Go或JS编程基础的人提供一个只需关注规则定制的功能强大的爬虫工具。
它支持单机、服务端、客户端三种运行模式,拥有Web、GUI、命令行三种操作界面;规则简单灵活、批量任务并发、输出方式丰富(mysql/mongodb/csv/excel等)、有大量Demo共享;另外它还支持横纵向两种抓取模式,支持模拟登录和任务暂停、取消等一系列高级功能。
开发环境搭建
-
代码下载
GitHub地址: https://github.com/henrylee2cn/pholcus -
创建go基本目录结构如下
目录结构
我本地的GOPATH路径为~/go-workspac/pholcus,包含三个go工程标准的文件夹,下载下来的源码放在github.com/henrylee2cn/pholcus路径下
项目依赖放在vendor文件夹下
- 启动测试
项目的启动入口是example_main.go
pholcus有三种运行方式,这里使用的是web方式。使用go build或go install启动项目,显示信息如下:
4. 使用简介
项目启动成功后,可以通过浏览器使用。这里选择的是单机模式,规则使用的是公共规则库
选择需要的规则,点击【Run】按钮,可以进行爬取。爬取的结果在pholcus_pkg目录下
问题处理
在本地编译时遇到了依赖代码下载失败的问题,原因是有的依赖无法直接访问,在网上找了解决方案
解决方案如下:
go 1.11版本新增了 GOPROXY 环境变量,go get会根据这个环境变量来决定去哪里取引入库的代码
$ export GOPROXY=https://goproxy.io
其中,https://goproxy.io 是一个goproxy.io这个开源项目提供的公开代理服务。