发布于 2016-06-16 07:17:33 | 197 次阅读 | 评论: 0 | 来源: 网友投递
Pholcus Go 爬虫软件
Pholcus(幽灵蛛)是一款纯Go语言编写的高并发、分布式、重量级爬虫软件,支持单机、服务端、客户端三种运行模式,拥有Web、GUI、命令行三种操作界面;规则简单灵活、批量任务并发、输出方式丰富(mysql/mongodb/csv/excel等)、有大量Demo共享;同时她还支持横纵向两种抓取模式,支持模拟登录和任务暂停、取消等一系列高级功能。
自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下载器。