Go 爬虫软件,Pholcus 0.7.5 发布

jopen 8年前

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,支持横纵向两种抓取模式,支持模拟登录和任务取消等,并且考虑了支持分布式布局。