JAVA开源爬虫 WebMagic 与 WebCollector 之间比较
WebMagic与WebCollector比较
一、架构
Webcollector
图片来自官方文档
WebMagic
二、维护者
WebMegic:董亿华,前点评工程师,现自主创业
WebCollector::合肥工业大学DMIC
三、最近更新时间(截止至2018.4.8)
WebMegic: 2017.12
WebCollector: 2018.3
四、活跃度(以github上issuse数目评价,截止至2018.4.8)
WebMegic: 182
WebCollector: 43
五、正文抽取工具
WebMegic: 基于行块分布函数的网页正文自动抽取(哈工大)、正则表达式、css(基于JSoup)、xpath(基于Saxon)
WebCollector: 基于文本密度的网页正文自动抽取(北邮)、正则、css(基于JSoup)
六、自动去重
WebMegic: 内存HashSet、BloomFilter(节约内存)
WebCollector: 内存hashSet
七、URL优先级
WebMegic: 提供了优先级调度
WebCollector: 无
八、URL调度
WebMegic: 内存、Redis
WebCollector: 内存、BerkelyDB
九、持久化
WebMegic: 文件、JSON文件 提供了集成Spring、基于Mybatis持久到MYSQL示例
WebCollector: 可自定义实现 提供了Spring JDBC的示例方案
九、分布式
WebMegic: 支持,基于Redis(Redis保存抓取结果,可多机爬取)
WebCollector: 不支持,只能单机
十、断点重爬
WebMegic: 支持,基于文件记录
WebCollector: 支持,基于文件记录
十一、处理非Http Get 请求(POST)
WebMegic: 支持
WebCollector: 支持
十二、代理
WebMegic: 支持
WebCollector: 支持,并提供了使用aliyun代理的示例
十三、动态渲染JS
WebMegic: 支持
WebCollector: 支持
十四、Http请求
WebMegic: 基于HttpClient,可自定义改写
WebCollector: 基于URLConnection,提供了OkHttpClient,可自定义改写
花时间自己做的一点调研,如果有不准确的地方请批评指正。