自2015年5月 Pholcus 发布第一个版本起历经一年的版本迭代,今日 v1.0 稳定版本终于正式发布了。在此感谢所有关注过Pholcus、反馈过开发建议以及运行bug的朋友们。v1.0 版本是一个经过诸多用户使用与项目验证过的稳定版本,大家可以放心下载使用。同时需要说明的是,此前某些用户提出的部分开发建议并未加入v1.0中,但将会在之后的版本逐步实现。 (GUI版模式选择界面) (WEB 版单机模式运行界面) Pholcus的简介: Pholcus(幽灵蛛)是一款纯Go语言编写的高并发、分布式、重量级爬虫软件,支持单机、服务端、客户端三种运行模式,拥有Web、GUI、命令行三种操作界面;规则简单灵活、批量任务并发、输出方式丰富(mysql/mongodb/csv/excel等)、有大量Demo共享;同时她还支持横纵向两种抓取模式,支持模拟登录和任务暂停、取消等一系列高级功能。 相对上一版本(v0.8.5)的更新详情: 一、输出模块 1.支持规则中设置Spider.NotDefaultField=true来禁止输出系统默认添加的字段 Url、ParentUrl 和 DownloadTime; 2. 减少mysql的表创建操作; 3. 修复mysql表名和字段内容在某些情况下会出现乱码的现象; 4. 修复Linux下,文件创建权限问题; 5. 修复输出文件的路径以"\"分割时,目录创建失效的bug; 6. 修复Output()方法指定ruleName无效的bug; 7. 直接下载文件时,在日志中打印文件大小。 二、内存优化 1.DateCell、FileCell、Context均增加Pool,减少对象创建; 2. 每2分钟检查一次可重用内存,若大于50M,则手动释放一次内存; 3. 简化结果数据转储流程,一定程度降低内存消耗。 三、动态规则 1.修复解析多个动态规则时的闭包问题; 2. 修复动态规则中设置Header无效的bug。 四、日志模块 1.在配置文件中增加[log]段落参数: 2. level -> 全局日志打印级别(亦是日志文件输出级别); 3. consolelevel -> 日志在控制台的显示级别; 4. feedbacklevel -> 客户端反馈至服务端的日志级别; 5. lineinfo -> 日志是否打印行信息; 6. save -> 是否保存所有日志到本地文件。 五、配置模块 1. 配置文件中段落与配置项分别按字母排序; 2. 配置文件中 mysqlmaxallowedpacket -> mysqlmaxallowedpacketmb,单位为MB; 3. mysql增加max_allowed_packet的配置; 4. 增加conngcsecond配置,支持自主设定mgo连接池GC时间。 六、操作界面 1. cmd版的服务端模式支持连续添加任务‘ 2. 修复web版长时间运行,因意外丢失cookie而可能引发panic的问题‘ 3. 修复web版大量日志输出时“send on closed channel“的bug。 七、其他 1. 增加对支持gzip的页面进行自动解码的功能; 2. 修复CrawlPool.Use()与CrawlPool.Free()的写竞争; 3. 调整运行依赖目录; 4. 升级surfer下载器。 Pholcus(幽灵蛛)爬虫软件 v1.0 稳定版正式发布下载地址