首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

XXL-CRAWLER v1.2.1 发布,分布式爬虫框架

  •  
  •   xuxueli · 2018-02-08 10:29:23 +08:00 · 1938 次点击
    这是一个创建于 471 天前的主题,其中的信息可能已经有所发展或是发生改变。

    版本新特性

    • 1、JS 渲染:支持 JS 渲染方式采集数据,可参考 "爬虫示例 6";
    • 2、抽象并设计 PageLoader,方便自定义和扩展页面加载逻辑,如 JS 渲染等。底层提供 "JsoupPageLoader(默认 /推荐)","HtmlUnitPageLoader"两种实现,可自定义其他类型 PageLoader 如 "Selenium" 等;
    • 3、修复 Jsoup 默认加载 1M 的限制;
    • 4、爬虫线程中断处理优化;

    输入图片说明

    简介

    XXL-CRAWLER 是一个分布式爬虫框架。一行代码开发一个分布式爬虫,拥有"多线程、异步、IP 动态代理、分布式、JS 渲染"等特性;

    特性

    • 1、简洁:API 直观简洁,可快速上手;
    • 2、轻量级:底层实现仅强依赖 jsoup,简洁高效;
    • 3、模块化:模块化的结构设计,可轻松扩展
    • 4、面向对象:支持通过注解,方便的映射页面数据到 PageVO 对象,底层自动完成 PageVO 对象的数据抽取和封装返回;单个页面支持抽取一个或多个 PageVO
    • 5、多线程:线程池方式运行,提高采集效率;
    • 6、分布式支持:通过扩展 "RunData" 模块,并结合 Redis 或 DB 共享运行数据可实现分布式。默认提供 LocalRunData 单机版爬虫。
    • 7、JS 渲染:通过扩展 "PageLoader" 模块,支持采集 JS 动态渲染数据。原生提供 Jsoup(快速、推荐)和 HtmlUnit(较慢、JS 渲染)两种实现,支持自由扩展其他实现。
    • 8、失败重试:请求失败后重试,并支持设置重试次数;
    • 9、代理 IP:对抗反采集策略规则 WAF ;
    • 10、动态代理:支持运行时动态调整代理池,以及自定义代理池路由策略;
    • 11、异步:支持同步、异步两种方式运行;
    • 12、扩散全站:支持以现有 URL 为起点扩散爬取整站;
    • 13、去重:防止重复爬取;
    • 14、URL 白名单:支持设置页面白名单正则,过滤 URL ;
    • 15、自定义请求信息,如:请求参数、Cookie、Header、UserAgent 轮询、Referrer 等;
    • 16、动态参数:支持运行时动态调整请求参数;
    • 17、超时控制:支持设置爬虫请求的超时时间;
    • 18、主动停顿:爬虫线程处理完页面之后进行主动停顿,避免过于频繁被拦截;

    文档地址

    技术交流

    22 回复  |  直到 2018-02-09 08:44:47 +08:00
        1
    xuxueli   2018-02-08 10:34:45 +08:00
    为楼主大 call。
        2
    xuxueli   2018-02-08 10:34:57 +08:00
    为一楼点赞!
        3
    xuxueli   2018-02-08 10:35:11 +08:00
    楼上好样的 :)
        4
    jimages   2018-02-08 11:03:45 +08:00 via iPhone
    ???
        5
    xuxueli   2018-02-08 11:18:32 +08:00
    @jimages 迭代了很久的一个爬虫框架,源码和文档都比较完善,可以体验下啊。
        6
    Itoktsnhc   2018-02-08 11:23:38 +08:00
    这位应该是忘换号了
        7
    sunsulei   2018-02-08 11:24:22 +08:00
    又见戏精...
        8
    xuxueli   2018-02-08 11:28:44 +08:00
    @Itoktsnhc @sunsulei 哈哈,中央戏精学院刚毕业,见谅
        9
    xuxueli   2018-02-08 11:36:45 +08:00
    XXL 系列开源软件,均提供源码以及完善的文档,感兴趣的话,欢迎体验使用哈:

    http://www.xuxueli.com/page/projects.html
        10
    Sanko   2018-02-08 11:37:01 +08:00 via Android
    楼主好样的
        11
    Sanko   2018-02-08 11:37:23 +08:00 via Android
    @Sanko 你怎么用户名和我一样?
        12
    xuxueli   2018-02-08 11:39:09 +08:00
    @Sanko 感谢关注金和支持哈 :)
        13
    harry890829   2018-02-08 11:43:59 +08:00
    真吸睛……
        14
    xuxueli   2018-02-08 12:14:43 +08:00
    @harry890829 哈哈,可以体验下啊。
    可以用它来采集 “ V3ex、知乎、京东”(学习用啊)等站数据作分析用。
        15
    WuMingyu   2018-02-08 12:17:55 +08:00 via iPhone
    @Sanko @Sanko 你们俩头像还一样!
        16
    Nick2VIPUser   2018-02-08 12:52:44 +08:00 via iPhone
    大佬大佬~爬虫新人膜拜一下。框架是基于 node 的嘛
        17
    Nick2VIPUser   2018-02-08 12:54:03 +08:00 via iPhone
    @Nick2VIPUser 是 java 的,你好好看一下文档
        18
    vikeria   2018-02-08 12:58:30 +08:00 via Android
    @xuxueli 体验过楼主的分布式定时任务,很不错,赞一个
        19
    xuxueli   2018-02-08 13:04:26 +08:00
    @Nick2VIPUser 哈哈,我们怕是戏精学院同一届的
        20
    xuxueli   2018-02-08 13:05:00 +08:00
    @vikeria 哈哈,感谢关注哈,可以体验下 XXL 系列的其他项目啊 :)
        21
    breezeFP   2018-02-09 07:34:53 +08:00 via iPhone
    正在用你的 xxl-job,支持一下
        22
    xuxueli   2018-02-09 08:44:47 +08:00 via Android
    @breezeFP 哈哈,感谢信任支持啊。
    可以体验下 XXL 系列的其他项目啊!
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1453 人在线   最高记录 5043   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 20ms · UTC 17:14 · PVG 01:14 · LAX 10:14 · JFK 13:14
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1