本文列举了一些较为常用的JAVA开源爬虫框架:

1.Apache Nutch

  • 官方网站:http://nutch.apache.org/
  • 是否支持分布式:是
  • 可扩展性:中。Apache Nutch并不是一个可扩展性很强的爬虫,它是一个专门为搜索引擎定制的网络爬虫,虽然Apache Nutch具有一套强大的插件机制,但通过定制插件并不能修改爬虫的遍历算法、去重算法和爬取流程。
  • 适用性:Apache Nutch是为搜索引擎定制的爬虫,具有一套适合搜索引擎的URL维护机制(包括URL去重、网页更新等),但这套机制并不适合目前大多数的精抽取业务(即结构化数据采集)。
  • 上手难易度:难。需要使用者熟悉网络爬虫原理、hadoop开发基础及linux shell,且需要熟悉Apache Ant
  • 技术讨论群:12077868

2.WebCollector

  • 官方网站:https://github.com/CrawlScript/WebCollector
  • 是否支持分布式:该框架同时包含了单机版和分布式版两个版本
  • 可扩展性:强
  • 适用性:WebCollector适用于精抽取业务。
  • 上手难易度:简单
  • 技术讨论群:250108697 345054141

3.WebMagic

4.Crawler4j

  • 官方网站:https://github.com/yasserg/crawler4j
  • 是否支持分布式:否
  • 可扩展性:低。Crawler4j实际上是一个单机版的垂直爬虫,其遍历算法是一种类似泛爬的算法,虽然可以添加一些限制,但仍不能满足目前大部分的精抽取业务。另外,Crawler4j并没有提供定制http请求的接口,因此Crawler4j并不适用于需要定制http请求的爬取业务(例如模拟登陆、多代理切换)。
  • 上手难易度:简单

本文由网络爬虫与数据挖掘提供,转载请注明出处。

Z-Blog:http://www.361wx.com

JAVA开源爬虫列表及简介的更多相关文章

  1. Java开源爬虫框架crawler4j

    花了两个小时把Java开源爬虫框架crawler4j文档翻译了一下,因为这几天一直在学习Java爬虫方面的知识,今天上课时突然感觉全英文可能会阻碍很多人学习的动力,刚好自己又正在接触这个爬虫框架,所以 ...

  2. JAVA开源爬虫,WebCollector,使用方便,有接口。

    假设你想下载整个网站内容爬行动物,我不希望配置heritrix复杂的爬行动物,要选择WebCollector.项目github一个不断更新. github源地址:https://github.com/ ...

  3. 开源的49款Java 网络爬虫软件

    参考地址 搜索引擎 Nutch Nutch 是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫. Nutch的创始人是Doug Cutting, ...

  4. 【转】44款Java 网络爬虫开源软件

    原帖地址 http://www.oschina.net/project/lang/19?tag=64&sort=time 极简网络爬虫组件 WebFetch WebFetch 是无依赖极简网页 ...

  5. Java开源生鲜电商平台-系统简介

    Java开源生鲜电商平台-系统简介 1.生鲜电商平台的价值与定位. 生鲜电商平台是一家致力于打造全国餐饮行业智能化.便利化.平台化与透明化服务的创新型移动互联网平台,连接买家与卖家之间的一个平台 看以 ...

  6. Java开源项目(备查)

    转自:http://www.blogjava.net/Carter0618/archive/2008/08/11/221222.html Spring Framework  [Java开源 J2EE框 ...

  7. 开源爬虫Labin,Nutch,Neritrix介绍和对比

    crawler 开发 语言 功能 单一 支持分布式 爬取 效率 镜像 保存 Nutch Java × √ 低 × Larbin C++ √ × 高 √ Heritrix Java √ × 中 √ ** ...

  8. java开源资源

    开到一遍不错的java开源整理,摘录一下,后续遇到好的继续更新. 构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置 ...

  9. 11大Java开源中文分词器的使用方法和分词效果对比,当前几个主要的Lucene中文分词器的比较

    本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那 ...

随机推荐

  1. 3种使用MQ实现分布式事务的方式

    1.保证消息传递与一致性 1.1生产者确保消息自主性 当生产者发送一条消息时,它必须完成他的所有业务操作. 如下图: 这保证消费者接受到消息时,生产者已处理完毕相关业务,也就是1PC的基础. 1.2 ...

  2. [理解] C++ 中的 源文件 和 头文件

    我是学 C井 的, 现在在工作中主要使用的编程语言是 Java, 还记得当初在第一次接触到 Cpp 的时候, 听到的第一个概念就是 Cpp 的头文件和源文件, 当初理解了好久, 死活都弄不明白, 现在 ...

  3. Jquery练习1

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  4. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 表格:联合使用所有表格类

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. Cortex-M3学习小结

  6. ffmpeg-01-Subtitle

    1. ffmpeg简介 2. 摘录文档 2.1 过滤 Filtering 2.1.1 简单滤镜 2.1.2 复杂的滤镜 2.1.3 简单过滤与复杂过滤 2.2 Stream 流复制 2.3 对比图 3 ...

  7. kubernetes 1.17.2 kubeadm部署 证书修改为100年

    [root@hs-k8s-master01 ~]# cd /data/ [root@hs-k8s-master01 data]# ls docker [root@hs-k8s-master01 dat ...

  8. 笔记||Python3进阶之调用外部程序

    像wget可以下载文件 ffmpeg可以切割.合并.转换.录制视频 free命令可以查看linux内存使用信息 python提供了库来调用外部程序.命令?> 最常见的两种方法:       ①o ...

  9. python生成器三元表达式

    使用yield返回  例如: def test(): yield 1 yield 2 yield 3 yield 4 v = test() print(v.__next__()) print(v.__ ...

  10. zabbix server 安装部署

    一:安装zabbix服务端 1.部署准备 命令:iptables -F     #关闭防火墙命令:systemctl stop firewalld    #关闭防火墙 设置解析,自建yum源 命令:c ...