红联Linux门户
Linux帮助

Pholcus 1.2发布,高并发、分布式爬虫软件

发布时间:2016-09-26 09:20:37来源:红联作者:numdon
Pholcus爬虫软件发布1.2版本,CPU使用率与内存占用均有大幅降低,运行更加稳定流畅。同时新增kafka输出方式,加快任务终止速度(秒级延时)。

Pholcus v1.2 具体更新细节如下:

一、输出功能升级

添加kafka数据库输出

基本重新了mysql输出模块,提升输出稳定性与输出效率

增加输出文件目录的配置项

大量优化结果收集模块,提升I/O性能与状态控制性

移除文件输出目录的日期后缀

调整文件名哈希临界长度为>8

移除数据输出通道容量的配置项DATA_CHAN_CAP,由分批输出用户设置项直接决定

二、下载功能升级

增强自动转码功能

当响应头未指定编码类型时,从请求头读取

都未指定编码类型或编码类型为utf8时,不做转码,节约内存

增加支持自动解压缩deflate和zlib编码的响应流

升级surfer下载器,修复POST提交时下载内核中Content-Type被覆盖的bug,修复Request.GetHeader()==nil时panic的bug

修复输出图片等文件时,下载补全的bug

Context.text字段类型由string改为[]byte

将HTTP状态码大于等于400的请求自动标记为下载失败

三、采集规则模块升级

更新*Request.GetTemp(key string, defaultValue interface{}) interface{},defaultValue不再作为结果接收容器,当键值对不存在时,返回值为参数defaultValue。

Spider.Register()方法改为接受Spider类型(之前为*Spider),推荐使用 "func init(){Spider{}.Register()}" 的方式进行声明

优化任务停止条件,Spider.Root退出之前,任务不可终止

修复动态规则解析bug

同名采集规则的名称自动添加加"(2)"形式的序号后缀

优化crawler采集引擎的随机停顿逻辑

添加 Context.Log() 日志打印接口

四、其他优化

修复某些情况下在非win系统中log日志引发的panic

修复web版启动时偶然性打不开页面的bug

web版实时日志在超过2000条时自定清除前1000条

优化scheduler调度器

调整分布式模块字面量命名

修复CUP占用高的问题,采集过程的最低使用率从 20% 降低到 1%

加快任务的主动终止,基本已将延时控制在秒级

通过数据输出速率来抑制采集下载速率,从而降低不必要的内存占用

下载地址:https://github.com/henrylee2cn/pholcus/archive/v1.2.0.zip

来自:开源中国社区
文章评论

共有 0 条评论