WebMagic 0.4.3 发布,Java 爬虫框架

黄亿华
 黄亿华
发布于 2014年03月14日
收藏 102

WebMagic的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。

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

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

  1. contains:

    //div[contains(@id,'foo')]


  2. 选择条件(方括号中的XPath谓词)的逻辑运算(and/or):

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


  3. 多个完整的XPath可以用"|"来连接:

    //title/text() | //div[@class='title']/text()


二、修复了cycleRetryTimes的一系列错误,感谢@yxssfxwzy发现这些错误。WebMagic 0.3.0之后支持一种新的抓取失败的重试机制,它会在本次Downloader下载失败后,将URL重新加入待抓取URL末尾,等到其他URL下载结束后,再进行重试。cycleRetryTimes则是这样重试的次数,默认为0,即不重试

  1. [issue60] 修复cycleRetryTimes不正常工作,个别站点可能导致下载死循环的问题。

  2. [issue58] 增加QueueScheduler对cycleRetryTimes的支持。

  3. [issue62] 修复cycleRetryTimes当spider.setSpawnUrl(false)的时候无法工作的问题。

三、其他改动:

  1. [issue51] 完善RegexSelector里对于无捕获组时,自动增加"()"的判断逻辑,@SimpleExpress 提交patch

  2. [issue53] 修复FileCachedQueueScheduler中的空指针异常,感谢@xuchaoo 提交patch。

  3. [issue57] 修复Selenium不能正常退出的问题,感谢@d0ngw 提交patch。

  4. [issue59] 升级HttpClient版本到4.3.3,去掉了之前处理GZip失败的一些防御性代码。

  5. [issue55] 升级log4j为性能更好的slf4j。

  6. [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

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:WebMagic 0.4.3 发布,Java 爬虫框架
加载中

最新评论(13

java10001
java10001
大家对比,htmlunit和Selenium在处理JS加载的页面的时候需要注意的地方和效率没?我这边使用htmlunit比较多,但是最近在抓取西祠时候发现多线程htmlunit把机器cpu跑高以致于进程假死情况出现?
ouyou
ouyou
多谢
icanfly
icanfly
擦,看成WebLogic了。。FK
走位风骚闪着腰
走位风骚闪着腰
不久将会用到!
一一叶
一一叶
新版本,修复了好多重要Bug.周末研究研究
Yashin
Yashin
新版本啊,研究研究
luamas
luamas
这个支持
喵星人123
喵星人123
logo有点萌
Tanweijie
Tanweijie
支持黄大,哈哈、
okk
okk
先下下来,试用下。谢谢
返回顶部
顶部