网页抓取数据百度百科(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 框架。但我认为它是最可靠的爬虫框架,如果采集

的数据量不大,强烈推荐使用。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线