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,支持横纵向两种抓取模式,支持模拟登录和任务取消等,并且考虑了支持分布式布局。 Pholcus 0.7.5 发布,Go 爬虫软件下载地址