WebMagic的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。 本次更新主要增加了一些XPath语法的支持,以及一些bug修复工作。 一、升级Xsoup到0.2.0,增加新的XPath语法支持。包括: contains:
选择条件(方括号中的XPath谓词)的逻辑运算(and/or):
多个完整的XPath可以用"|"来连接:
二、修复了cycleRetryTimes的一系列错误,感谢@yxssfxwzy发现这些错误。WebMagic 0.3.0之后支持一种新的抓取失败的重试机制,它会在本次Downloader下载失败后,将URL重新加入待抓取URL末尾,等到其他URL下载结束后,再进行重试。cycleRetryTimes则是这样重试的次数,默认为0,即不重试。 [issue60] 修复cycleRetryTimes不正常工作,个别站点可能导致下载死循环的问题。 [issue58] 增加QueueScheduler对cycleRetryTimes的支持。 [issue62] 修复cycleRetryTimes当spider.setSpawnUrl(false)的时候无法工作的问题。
三、其他改动: [issue51] 完善RegexSelector里对于无捕获组时,自动增加"()"的判断逻辑,感谢@SimpleExpress 提交patch。 [issue53] 修复FileCachedQueueScheduler中的空指针异常,感谢@xuchaoo 提交patch。 [issue57] 修复Selenium不能正常退出的问题,感谢@d0ngw 提交patch。 [issue59] 升级HttpClient版本到4.3.3,去掉了之前处理GZip失败的一些防御性代码。 [issue55] 升级log4j为性能更好的slf4j。 [issue66] 增强CssSelector的选择逻辑,现在可以使用类似Selectors.$("div.title","text")来选择text属性了。
0.4.3将是0.4.x系列最后一个版本。0.5.0开始会对项目进行改造,包括增加动态管理爬虫的后台,更多的爬虫状态监控,更完善分布式支持等。0.5.0的设计方案参见我的博客WebMagic Avalon设计草图和WebMagic-Avalon之分布式实现方案 。 欢迎各位用户参与以及提出改进意见。 官方邮件列表:Gmail QQ QQ群:330192938 |