红联Linux门户
Linux帮助

WebMagic 0.4.3发布,Java爬虫框架

发布时间:2014-03-14 15:23:13来源:红联作者:empast
WebMagic的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。

本次更新主要增加了一些XPath语法的支持,以及一些bug修复工作。

一、升级Xsoup到0.2.0,增加新的XPath语法支持。包括:

contains:
view sourceprint?1 //div[contains(@id,'foo')]

选择条件(方括号中的XPath谓词)的逻辑运算(and/or):
view sourceprint?1 //div[@id='foo' or @class='bar']

2 //div[@id='foo' and @class='bar']

3 //div[@id='foo' and @class='foo' or @id='bar']

4 //div[@id='foo' and (@class='foo' or @id='bar')]

多个完整的XPath可以用"|"来连接:
view sourceprint?1 //title/text() | //div[@class='title']/text()

二、修复了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之分布式实现方案 。 欢迎各位用户参与以及提出改进意见。

项目主页:http://git.oschina.net/flashsword20/webmagic

来自:oschina开源中国社区
文章评论

共有 0 条评论