WebMaigc-0.5.0
code4craft
released this
27 Apr 05:10
·
726 commits
to develop
since this release
此次更新主要增加了监控功能,同时重写了多线程部分,使得多线程下性能有了极大的提升。另外还包含注解模式一些优化、多页面的支持等功能。
项目总体进展:
- 官网webmagic.io上线了!同时上线的还有详细版的官方文档http://webmagic.io/docs,从此使用更加简单!
- 新增三名合作开发者@ccliangbo @ouyanghuangzheng @linkerlin ,一起参与项目的维护。
- 官方论坛http://bbs.webmagic.io/和官方QQ群373225642上线,以后会更加重视社区的建设。
监控部分:
- 增加了监控功能,使用JMX可以监控页面数量、爬虫状态,并可以启动和终止爬虫。使用文档:http://webmagic.io/docs/posts/ch4-basic-page-processor/monitor.html #98
多线程部分:
- 重写了多线程部分,修复了多线程下,主分发线程会被工作线程阻塞的问题,使得多线程下效率有了极大的提升,推荐所有用户升级。 #110
- 为主线程等待新URL时的wait/notify机制增加了timeout时间,防止少数情况下发生的爬虫卡死的情况。 #111
抽取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