Apache Nutch
Nutch是为搜索引擎设计的爬虫,大多数用户是需要一个做精准数据爬取(精抽取)的爬虫,Nutch运行的一套流程里,有三分之二是为了搜索引擎而设计的,Nutch这个框架运行需要Hadoop,Hadoop需要开集群。
Nutch支持分布式抓取,并有Hadoop支持,可以进行多机分布抓取,存储和索引。另外很吸引人的一点在于,它提供了一种插件框架,使得其对各种网页内容的解析、各种数据的采集、查询、集群、过滤等功能能够方便的进行扩展,正是由于有此框架,使得 Nutch 的插件开发非常容易,第三方的插件也层出不穷,极大的增强了 Nutch 的功能和声誉。
缺点:Nutch的爬虫定制能力比较弱。
WebMagic
WebMagic是一个简单灵活的Java爬虫框架。基于WebMagic,你可以快速开发出一个高效、易维护的爬虫。
简单的API,可快速上手
模块化的结构,可轻松扩展
提供多线程和分布式支持
缺点:不支持JS页面抓取
WebCollector
WebCollector是一个无须配置、便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫。 WebCollector-Hadoop是WebCollector的Hadoop版本,支持分布式爬取。
基于文本密度的网页正文自动抽取
支持断点重爬
不支持分布式,只能单机
无URL优先级调度
活跃度不高
Heritrix3
Heritrix 是一个由 java 开发的、开源的网络爬虫,用户可以使用它来从网上抓取想要的资源
Heritrix的爬虫定制参数多
单实例的爬虫,之间不能进行合作。
在有限的机器资源的情况下,却要复杂的操作。
只有官方支持,仅仅在Linux上进行了测试。
每个爬虫是单独进行工作的,没有对更新进行修订。
在硬件和系统失败时,恢复能力很差。
很少的时间用来优化性能。
相对于Nutch,Heritrix仅仅只是一个爬虫工具,没有提供搜索引擎。如果要对抓取的站点排序必须要实现类似于Pagerank的复杂算法。
Crawler4j
Crawler4j是一款基于Java的轻量级单机开源爬虫框架。
多线程采集
内置了Url 过滤机制,采用的是BerkeleyDB 进行url的过滤。
可扩展为支持结构化提取网页字段,可作为垂直采集用
不支持动态网页抓取,例如网页的ajax部分
不支持分布式采集,可以考虑将其作为分布式爬虫的一部分,客户端采集部分
前端炒粉仔
Python