Pholcus v0.7.5 Release Notes

Release Date: 2015-12-02 // over 5 years ago
  • 大量功能优化:
    一、规则模块更新:

    1. 封装Spider与Response为上下文Context,大大简化规则语法;
    2. 支持从Context获取上一次Request,并可在修改后作为新请求加入队列,从而节约内存(如有依赖Request的Temp值的Output操作,则应先Output再修改Request);
    3. 自动为每条未设置Referer的请求补填Referer;
    4. Keyword作为命名空间时,如过长则取其hash值;
    5. 更新公共方法集。

    二、调度器更新:

    1. 去除SrcManager接口,降低内部消耗;
    2. 为每个队列增加读写锁,消除并发隐患;
    3. 增加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. 操作界面的规则列表,实现按首字母排序。