发布于 2015-12-03 00:31:19 | 199 次阅读 | 评论: 0 | 来源: 网友投递
Pholcus Go 爬虫软件
Pholcus(幽灵蛛)是一款纯Go语言编写的高并发、分布式、重量级爬虫软件,支持单机、服务端、客户端三种运行模式,拥有Web、GUI、命令行三种操作界面;规则简单灵活、批量任务并发、输出方式丰富(mysql/mongodb/csv/excel等)、有大量Demo共享;同时她还支持横纵向两种抓取模式,支持模拟登录和任务暂停、取消等一系列高级功能。
Pholcus 0.7.5 发布,更新如下:
大量功能优化:
一、规则模块更新:
1. 封装Spider与Response为上下文Context,大大简化规则语法;
2. 支持从Context获取上一次Request,并可在修改后作为新请求加入队列,从而节约内存(如有依赖Request的Temp值的Output操作,则应先Output再修改Request);
3. 自动为每条未设置Referer的请求补填Referer;
4. Keyword作为命名空间时,如过长则取其hash值;
4. 更新公共方法集。
二、调度器更新:
1. 去除SrcManager接口,降低内部消耗;
2. 为每个队列增加读写锁,消除并发隐患;
4. 增加RegSpider方法,提升调度效率。
三、输出模块更新:
1. 优化加强mysql操作,并解决一个字段长度的bug;
2. 优化mongodb操作,降低内存消耗;
3. 修复数据库链接失败后panic的bug。
四、去重功能更新:
1. 样本的保存位置与输出方式保持一致(file/mongodb/mysql);
2. 每次采集时,若改变是否继承历史去重的状态,则更新去重样本;
3. 优化读写方法,提升性能。
五、Surfer下载器更新:
1. 修复surf下载内核Header赋值的bug,完美支持模拟登录、随机User-Agent等;
2. phantom下载内核,在返回的响应流中添加请求信息。
(更新方法:go get -u github.com/henrylee2cn/surfer)
六、其他更新:
1. 提高暂停/停止功能在大批量任务并发情况下的灵敏性;
2. 修复运行模式热切换的小bug,并优化了切换速度;
3. Crwal接口的内部资源计数改用原子操作,提高并发安全性;
4. 操作界面的规则列表,实现按首字母排序。
下载页面:0.7.5
Pholcus(幽灵蛛)是一款纯Go语言编写的重量级爬虫软件,清新的GUI界面,优雅的爬虫规则、可控的高并发、任意的批量任务、多种输出方式、大量Demo,支持横纵向两种抓取模式,支持模拟登录和任务取消等,并且考虑了支持分布式布局。