网页抓取数据百度百科(JAVA爬虫框架有哪些?不支持分布式,只能单机2.)
优采云 发布时间: 2021-12-27 06:08网页抓取数据百度百科(JAVA爬虫框架有哪些?不支持分布式,只能单机2.)
前言
在网上搜索“什么是JAVA爬虫框架”,一般会有以下几种:Apache Nutch、WebMagic、WebCollector、Heritrix3、Selenium
这些框架的优缺点是什么?
-Nutch
支持分布式爬取,通过Hadoop支持,可以进行多机分布式爬取、存储和索引。另一个非常吸引人的地方是它提供了一个插件框架,可以方便的扩展各种网页内容分析、各种数据采集、查询、聚类、过滤等功能。正是因为如此。该框架让Nutch的插件开发变得非常容易,第三方插件层出不穷,大大提升了Nutch的功能和美誉度。
缺点:定制能力弱,社区活跃度低。网上的资料大多是几年前的。
-WebMagic
API简单,模块化结构可快速使用,可轻松扩展提供多线程和分布式支持
缺点:现在一些主流网站都是通过JS渲染页面,不支持JS页面爬取,只能获取JS渲染前的页面。
-WebCollector
1.基于文本密度自动提取网页正文
2.支持断点重爬
3.支持代理
缺点:
1. 不支持分布式,只支持单机
2.无URL优先调度
3.不是很活跃
-Heritrix3
Heritrix 的爬虫有很多自定义参数
缺点
1.单实例爬虫不能相互配合。
2. 在机器资源有限的情况下,需要复杂的操作。
3. 仅官方支持,仅在 Linux 上测试。
4.每个爬虫独立工作,更新没有任何修改。
5.在出现硬件和系统故障时,恢复能力较差。
6. 花在优化性能上的时间很少。
7.相比Nutch,Heritrix只是一个爬虫工具,没有搜索引擎。如果要对爬取的站点进行排序,则必须实现类似于 Pagerank 的复杂算法。
硒
框架底层使用JavaScript模拟真实用户操作浏览器。测试脚本执行时,浏览器会根据脚本代码自动进行点击、输入、打开、验证等操作,就像真实用户一样,站在最终用户的角度测试应用。尽管不同浏览器之间仍然存在细微差别,但可以自动进行浏览器兼容性测试。使用简单,可以使用Java、Python语言实现爬虫
缺点:速度慢,适合对每天爬取数据要求不高的爬虫,因为selenium框架必须打开浏览器再模拟点击网页。这个过程与你手动打开浏览器打开网址访问网站的速度是一样的。这个速度比较慢。如果你想每天采集
10,000 到 20,000 条数据,那么你可以使用这个 selenium 框架。但我认为它是最可靠的爬虫框架,如果采集
的数据量不大,强烈推荐使用。