webmagic 0.2.0 发布,Java垂直爬虫框架

黄亿华
 黄亿华
发布于 2013年08月12日
收藏 89

此次更新的主题是"方便"(之前的主题是"灵活")。

增加了webmagic-extension模块。

增加了注解方式支持,可以通过POJO+注解的方式编写一个爬虫,更符合Java开发习惯。以下是抓取oschina博客的完整代码:

 

@TargetUrl("http://my.oschina.net/flashsword/blog/\\d+")
public class OschinaBlog {

    @ExtractBy("//title")
    private String title;

    @ExtractBy(value = "div.BlogContent",type = ExtractBy.Type.Css)
    private String content;

    @ExtractBy(value = "//div[@class='BlogTags']/a/text()", multi = true)
    private List<String> tags;

    public static void main(String[] args) {
        OOSpider.create(Site.me().addStartUrl("http://my.oschina.net/flashsword/blog"),
        new ConsolePageModelPipeline(), OschinaBlog.class)
        .scheduler(new RedisScheduler("127.0.0.1")).thread(5).run();
    }

}

 

增加一个Spider.test(url)方法,用于开发爬虫时进行调试。

增加基于redis的分布式支持。

增加XPath2.0语法支持(webmagic-saxon模块)。

增加基于Selenium的浏览器渲染支持,用于抓取动态加载内容(webmagic-selenium模块)。

修复了不支持https的bug。

补充了文档:webmagic-0.2.0用户手册

webmagic

webmagic是一个开源的Java垂直爬虫框架,目标是简化爬虫的开发流程,让开发者专注于逻辑功能的开发。webmagic的核心非常简单,但是覆盖爬虫的整个流程,也是很好的学习爬虫开发的材料。作者曾经在前公司进行过一年的垂直爬虫的开发,webmagic就是为了解决爬虫开发的一些重复劳动而产生的框架。

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

最新评论(22

charlesl
charlesl
《web爬虫是一种技术,webmagic致力于将这种技术的实现成本降低,但是出于对资源提供者的尊重,webmagic不会做反封锁的事情,包括:验证码破解、代理切换、自动登录等。》
呵呵,没注意到这段话。我说webmagic怎么不能设置代理呢。有节操。
黄亿华
黄亿华

引用来自“lidongyang”的评论

对于长期的垂直抓取,频率过快或者稍微快点就被封或者连接被重置,频率过慢效率太低,不知道大家都怎么解决的。作者介绍下这方面的经验呗 (:

参见我github上的readme... https://github.com/code4craft/webmagic 其实思路无非是挂代理换IP换UA,复杂一点搞个验证码识别...
charlesl
charlesl
对于长期的垂直抓取,频率过快或者稍微快点就被封或者连接被重置,频率过慢效率太低,不知道大家都怎么解决的。作者介绍下这方面的经验呗 (:
人头马没面
人头马没面
新浪微博能不能爬取啊 有的是ajax实现的
sjack
sjack
不错, 看看先、
weosang
weosang
马克之,以前写过这种东西,完全是一点点扣出来的。。。好
l
lkjdsfkln
火车头
黄亿华
黄亿华

引用来自“lidongyang”的评论

下一步准备添加什么功能呢?

有两个想法:1、实用性路线,完善辅助工具,减少提取/测试XPath等规则的难度;2、规模化路线,分布式爬虫监控/动态加载规则等。

我觉得第一个比较有用一点,第二个更上档次一点 (:。
charlesl
charlesl
下一步准备添加什么功能呢?
guhai2004
guhai2004
刚看了下,值得学习。
返回顶部
顶部