《GitHub精选》是我们分享Github中优质项目的栏目,包括技术、学习、实用与各种有趣的内容。本期推荐的是一个使用Go语言编写的爬虫软件——Pholcus(幽灵蛛)。
Pholcus(幽灵蛛)是一款纯Go语言编写的高并发、分布式、重量级爬虫软件,支持单机、服务端、客户端三种运行模式,拥有Web、GUI、命令行三种操作界面;规则简单灵活、批量任务并发、输出方式丰富(mysql、mongodb、csv、excel等)、有大量Demo共享;同时它还支持横纵向两种抓取模式,支持模拟登录和任务暂停、取消等一系列高级功能。
框架特点
- 为具备一定Go或JS编程基础的用户提供只需关注规则定制、功能完备的重量级爬虫工具;
- 支持单机、服务端、客户端三种运行模式;
- GUI(Windows)、Web、Cmd 三种操作界面,可通过参数控制打开方式;
- 支持状态控制,如暂停、恢复、停止等;
- 可控制采集量;
- 可控制并发协程数;
- 支持多采集任务并发执行;
- 支持代理IP列表,可控制更换频率;
- 支持采集过程随机停歇,模拟人工行为;
- 根据规则需求,提供自定义配置输入接口
- 有mysql、mongodb、kafka、csv、excel、原文件下载共五种输出方式;
- 支持分批输出,且每批数量可控;
- 支持静态Go和动态JS两种采集规则,支持横纵向两种抓取模式,且有大量Demo;
- 持久化成功记录,便于自动去重;
- 序列化失败请求,支持反序列化自动重载处理;
- 采用surfer高并发下载器,支持 GET/POST/HEAD 方法及 http/https 协议,同时支持固定UserAgent自动保存cookie与随机大量UserAgent禁用cookie两种模式,高度模拟浏览器行为,可实现模拟登录等功能;
- 服务器/客户端模式采用Teleport高并发SocketAPI框架,全双工长连接通信,内部数据传输格式为JSON。
以上就关于Pholcus(幽灵蛛)的一些内容,官网上有详细的安装使用教程,有想学习爬虫方面知识的同学可以关注一下。
GitHub:github/henrylee2cn/pholcus
往期推荐:
机器学习入门教程
中文车牌识别开源框架HyperLPR
互联网公司常用框架和中间件源码解析
一款适合零编程基础学Python的项目