此次更新主要增加了监控功能,同时重写了多线程部分,使得多线程下性能有了极大的提升。另外还包含注解模式一些优化、多页面的支持等功能。 WebMagic开源已经一周年,项目也得到了不少发展,也慢慢建立起了自己的社区。感谢各位朋友的支持! 项目总体进展:监控部分:多线程部分:抽取API部分:增加了JSON的支持,现在可以使用page.getJson().jsonPath()来使用jsonPath解析AJAX请求,也可以使用page.getJson().removePadding().jsonPath()来解析JSONP请求。 #101 修复一个Selectable的缓存导致两次取出的结果不一致的问题。 #73 感谢@seveniu 发现问题 支持为一个Spider添加多个PageProcessor,并按照URL区分,感谢@sebastian1118 提交patch。使用示例:PatternProcessorExample #86 修复不常用标签无法使用nth-of-type选择的问题(例如//div/svg[2]) 。#75 修复XPath中包含特殊字符,即使转义也会导致解析失败的问题。#77
注解模式:注解模式现在支持继承了!父类的注解将对子类也有效。#103 修复注解模式下,一个Spider使用多个Model时,可能不生效的问题,感谢 @ccliangbo 发现此问题。#85 修复sourceRegion中只有一个URL会被抽取出来的问题,感谢@jsinak 发现此问题。#107 修复了自动类型转换Formatter的一个BUG,现在可以自定义Formatter了。如果你不了解Formatter可以看这里:注解模式下结果的类型转换 #100
其他组件:Downloader现在支持除了GET之外的其他几种HTTP请求了,包括POST、HEAD、PUT、DELETE、TRACE,感谢@usenrong 提出建议。 #108 在Site中设置Cookie时,可以指定域名,而不是只能使用默认域名了。 #109 setScheduler()方法在调用时,如果之前Scheduler已有URL,会先转移到新的Scheduler,避免URL丢失。 #104 在发布包中去掉了log4j.xml,避免与用户程序冲突,感谢@cnjavaer 发现问题。 #82
|