推荐一个常年霸榜的爬虫框架,你用过么?

Posted 程序员狗哥

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐一个常年霸榜的爬虫框架,你用过么?相关的知识,希望对你有一定的参考价值。

爬虫的项目,狗哥做过不少,也用过很多开源的技术,最让狗哥中意的只有一个:webmagic,其他的相对于webmagic还是弱一些,狗哥就不介绍了。

WebMagic是一个简单灵活的Java爬虫框架,基于WebMagic,你可以快速开发出一个高效、易维护的爬虫。

webmagic一些优秀的特性

  • 码云上面最有价值的开源项目

  • 简单的API,可快速上手

  • 模块化的结构,可轻松扩展

  • 提供多线程和分布式支持

  • 完善的文档,这个比较关键,基于这些文档,基本上1个小时之内就可以上手开发

  • 解析内容:支持jquery语法、xpath语法、正则表达式;对于熟悉jquery的朋友来说,用起来会特别爽

  • 项目源码质量比较高,阅读起来也是行云流畅,对于想扩展的小伙伴来说是非常便利的

下面是webmagic一个爬虫案例,代码也就几行,还有比这更简单的?

public class GithubRepoPageProcessor implements PageProcessor {

    private Site site = Site.me().setRetryTimes(3).setSleepTime(1000).setTimeOut(10000);

    @Override
    public void process(Page page) {
        page.addTargetRequests(page.gethtml().links().regex("(https://github\\.com/[\\w\\-]+/[\\w\\-]+)").all());
        page.addTargetRequests(page.getHtml().links().regex("(https://github\\.com/[\\w\\-])").all());
        page.putField("author", page.getUrl().regex("https://github\\.com/(\\w+)/.*").toString());
        page.putField("name", page.getHtml().xpath("//h1[@class='entry-title public']/strong/a/text()").toString());
        if (page.getResultItems().get("name")==null){
            //skip this page
            page.setSkip(true);
        }
        page.putField("readme", page.getHtml().xpath("//div[@id='readme']/tidyText()"));
    }

    @Override
    public Site getSite() {
        return site;
    }

    public static void main(String[] args) {
        Spider.create(new GithubRepoPageProcessor()).addUrl("https://github.com/code4craft").thread(5).run();
    }
}

WebMagic官网

http://webmagic.io/

上几个图,大家感受一下

帮助文档分中英文版

推荐一个常年霸榜的爬虫框架,你用过么?

目前这个项目放在码云上面

https://gitee.com/flashsword20/webmagic

start人数和fork人数都是非常高的

更多信息,狗哥就不介绍了,官网上面都有详细说明,如果你要做爬虫相关的项目,webmagic无疑应该是你的首选!

对爬虫有兴趣的,可以加狗哥微信:spring888java

感谢阅读,狗哥致力于为大家推荐各种好用、好玩的东西,也希望大家能支撑一下狗哥,帮忙转发一下,让更多好友一起成长!

【扫描关注狗哥

以上是关于推荐一个常年霸榜的爬虫框架,你用过么?的主要内容,如果未能解决你的问题,请参考以下文章

霸榜的 JavaScript,框架为什么越来越复杂?

8个最高效的Python爬虫框架,你用过几个?

8个最高效的Python爬虫框架,你用过几个?

这几本霸榜的新书,是时候囤了

一开源就强势霸榜的腾讯开源项目

Java常用的5大框架介绍!