Pholcus v0.7.6 Release Notes

Release Date: 2015-12-17 // over 8 years ago
  • 一、新增全局代理IP模块:

    1. 通过操作界面设置更换IP的频率,实现代理IP轮询;
    2. 每次更换代理IP前,会通过ping测速,选取最佳IP;
    3. 支持自动跳过ping失败的ip;
    4. 代理IP列表文件的路径可在config中设置。

    二、新增历史记录模块:

    1. 在原来的去重模块基础上进行改造升级;
    2. 成功记录充当原来的去重模块的功能;
    3. 失败记录用于记录下载失败的请求,下次执行该Spider规则时将会自动追加至调度器的失败列表,从而实现重新抓取;
    4. 根据输出方式的设置,从对应位置读取并写入记录。

    三、调度器更新:

    1. 重构调度器,提高稳定性与响应速率;
    2. 添加失败请求自动添加至队列的功能;
    3. 添加为每个请求设置代理IP的功能;
    4. 添加控制每类Spider最大请求数的功能。

    四、规则模块更新:

    1. 大量更新上下文Context,提升运行效率;
    2. 完美支持Request的复用,节约内存且简化代码;
    3. Spider添加Namespace、SubNamespace、ReqMatrix三个字段,移除proxy字段,Pausetime字段改为int64类型;
    4. 支持在输出前自定义“当前链接”和“上级链接”两个字段;
    5. 最大页数MaxPage默认为该类规则的最大请求数;但当其定义初始值设置为MAXPAGE,可在规则中自定义该字段的作用,如设置列表页数等;
    6. 添加获取文章页正文的通用方法;
    7. 其他一系列的方法变动。

    五、Request结构体更新:

    1. 为更好地支持Request序列化,将Temp字段改为Temp类型,内部采用JSON字符串格式存储;
    2. GetTemp()interface{}改为GetTemp(key string, receive ...interface{})interface{},其中第二个参数receive在value值不为string类型时不可省略,且receive为指针或引用类型时,可从receive中直接获取value;
    3. 添加Copy()方法,返回Request副本。

    六、Response结构体更新:

    1. 移除Response的temp字段。

    七、日志打印模块更新:

    1. 美化日志的打印格式;
    2. 耗时统计改用类似”1h2m3s“的格式;
    3. 错误日志添加当前URL信息。

    八、下载器更新:

    1. 全面优化Surfer下载器,并合并入项目主目录;
    2. 解决下载失败后panic的bug。

    九、输出模块:

    1. 文件输出支持自定义子目录。

    十、操作界面更新:

    1. 将两个暂停时长的设置合并为”暂停时长参考“;
    2. 添加“代理IP更换频率”设置;
    3. 移除去重相关的设置,并添加“继承并保存成功记录”和“继承并保存失败记录”设置;
    4. 支持运行时设置 -a_ui 参数指定操作界面。