java爬虫框架有哪些,各有什么特点

2025-10-25

本文介绍java爬虫框架有哪些,各有什么特点。

八爪鱼·云采集网络爬虫软件

http://www.70edu.com

java爬虫框架有哪些,各有什么特点

目前主流的Java爬虫框架主要有Nutch、Crawler4j、WebMagic、scrapy、WebCollector等,各有各的特点,大家可以根据自己的需求选择使用,下面为大家详细介绍常见的java爬虫框架有哪些?各有什么特点?

常见的java爬虫框架有哪些

1、Nutch

Nutch是一个基于Lucene,类似Google的完整网络搜索引擎解决方案,基于Hadoop的分布式处理模型保证了系统的性能,类似Eclipse 的插件机制保证了系统的可客户化,而且很容易集成到自己的应用之中。

总体上Nutch可以分为2个部分:抓取部分和搜索部分。抓取程序抓取页面并把抓取回来的数据做成反向索引,搜索程序则对反向索引搜索回答用户的请求。抓取程序和搜索程序的接口是索引,两者都使

本文介绍java爬虫框架有哪些,各有什么特点。

八爪鱼·云采集网络爬虫软件

http://www.70edu.com

用索引中的字段。抓取程序和搜索程序可以分别位于不同的机器上。下面详细介绍一下抓取部分。

Nutch抓取部分:

抓取程序是被Nutch的抓取工具驱动的。这是一组工具,用来建立和维护几个不同的数据结构:web database,a set of segments,and the index。下面逐个解释这三个不同的数据结构:

1、The web database,或者WebDB。这是一个特殊存储数据结构,用来映像被抓取网站数据的结构和属性的集合。WebDB 用来存储从抓取开始(包括重新抓取)的所有网站结构数据和属性。WebDB 只是被抓取程序使用,搜索程序并不使用它。WebDB 存储2种实体:页面和链接。页面表示网络上的一个网页,这个网页的Url作为标示被索引,同时建立一个对网页内容的MD5 哈希签名。跟网页相关的其它内容也被存储,包括:页面中的链接数量(外链接),页面抓取信息(在页面被重复抓取的情况下),还有表示页面级别的分数score 。链接表示从一个网页的链接到其它网页的链接。因此WebDB 可以说是一个网络图,节点是页面,链接是边。

本文介绍java爬虫框架有哪些,各有什么特点。

八爪鱼·云采集网络爬虫软件

http://www.70edu.com

2、Segment 。这是网页的集合,并且它被索引。Segment的Fetchlist 是抓取程序使用的url列表,它是从WebDB中生成的。Fetcher 的输出数据是从fetchlist 中抓取的网页。Fetcher的输出数据先被反向索引,然后索引后的结果被存储在segment 中。Segment的生命周期是有限制的,当下一轮抓取开始后它就没有用了。默认的重新抓取间隔是30天。因此删除超过这个时间期限的segment是可以的。而且也可以节省不少磁盘空间。Segment 的命名是日期加时间,因此很直观的可以看出他们的存活周期。

3、The index。索引库是反向索引所有系统中被抓取的页面,它并不直接从页面反向索引产生,而是合并很多小的segment的索引产生的。Nutch 使用Lucene 来建立索引,因此所有Lucene相关的工具API 都用来建立索引库。需要说明的是Lucene的segment 的概念和Nutch的segment概念是完全不同的,不要混淆。简单来说Lucene 的segment 是Lucene 索引库的一部分,而Nutch 的Segment是WebDB 中被抓取和索引的一部分。

本文介绍java爬虫框架有哪些,各有什么特点。

八爪鱼·云采集网络爬虫软件

http://www.70edu.com

2、crawler4j

crawler4j是Java实现的开源网络爬虫。提供了简单易用的接口,可以在几分钟内创建一个多线程网络爬虫。

crawler4j的使用主要分为两个步骤:

实现一个继承自WebCrawler的爬虫类;

通过CrawlController调用实现的爬虫类。

WebCrawler是一个抽象类,继承它必须实现两个方法:shouldVisit 和visit。其中:

shouldVisit是判断当前的URL是否已经应该被爬取(访问);

visit则是爬取该URL所指向的页面的数据,其传入的参数即是对该web页面全部数据的封装对象Page。

另外,WebCrawler还有其它一些方法可供覆盖,其方法的命名规则类似于Android的命名规则。如getMyLocalData方法可以返回

本文介绍java爬虫框架有哪些,各有什么特点。

八爪鱼·云采集网络爬虫软件

http://www.70edu.com

WebCrawler中的数据;onBeforeExit方法会在该WebCrawler运行结束前被调用,可以执行一些资源释放之类的工作。

开源地址:https://http://www.70edu.com/yasserg/crawler4j

3、WebMagic

WebMagic是一个简单灵活的Java爬虫框架。基于WebMagic,你可以快速开发出一个高效、易维护的爬虫。

WebMagic的特点:

?简单的API,可快速上手

?模块化的结构,可轻松扩展

?提供多线程和分布式支持

源码地址:https://http://www.70edu.com/code4craft/webmagic

4、WebCollector

本文介绍java爬虫框架有哪些,各有什么特点。

八爪鱼·云采集网络爬虫软件

http://www.70edu.com

是一个无须配置、便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫。WebCollector-Hadoop是WebCollector的Hadoop版本,支持分布式爬取。

目前WebCollector在Github上维护:https://http://www.70edu.com/CrawlScript/WebCollector

传统的网络爬虫倾向于整站下载,目的是将网站内容原样下载到本地,数据的最小单元是单个网页或文件。而WebCollector可以通过设置爬取策略进行定向采集,并可以抽取网页中的结构化信息。

5、Heritrix

Heritrix是一个由java开发的、开源的网络爬虫,用户可以使用它来从网上抓取想要的资源。其最出色之处在于它良好的可扩展性,方便用户实现自己的抓取逻辑。

Heritrix是个“ArchivalCrawler”——来获取完整的、精确的、站点内容的深度复制。包括获取图像以及其他非文本内容。抓取并存储相关的内容。对内容来者不拒,不对页面进行内容上的修改。重新爬行对

本文介绍java爬虫框架有哪些,各有什么特点。

八爪鱼·云采集网络爬虫软件

http://www.70edu.com

相同的URL不针对先前的进行替换。爬虫主要通过Web用户界面启动、监控和调整,允许弹性的定义要获取的url。

Heritrix是按多线程方式抓取的爬虫,主线程把任务分配给Teo线程(处理线程),每个Teo线程每次处理一个URL。Teo线程对每个URL 执行一遍URL处理器链。URL处理器链包括如下5个处理步骤。(1)预取链:主要是做一些准备工作,例如,对处理进行延迟和重新处理,否决随后的操作。

(2)提取链:主要是下载网页,进行DNS转换,填写请求和响应表单。

(3)抽取链:当提取完成时,抽取感兴趣的HTML和JavaScript,通常那里有新的要抓取的URL。

(4)写链:存储抓取结果,可以在这一步直接做全文索引。Heritrix提供了用ARC格式保存下载结果的ARCWriterProcessor实现。

(5)提交链:做和此URL相关操作的最后处理。检查哪些新提取出的URL在抓取范围内,然后把这些URL提交给Frontier。另外还会更新DNS缓存信息。

6、WebSPHINX

WebSPHINX是一个Java类包和Web爬虫的交互式开发环境。Web爬

本文介绍java爬虫框架有哪些,各有什么特点。

八爪鱼·云采集网络爬虫软件

http://www.70edu.com

虫(也叫作机器人或蜘蛛)是可以自动浏览与处理Web页面的程序。WebSPHINX由两部分组成:爬虫工作平台和WebSPHINX类包。

WebSPHINX是一个Java类包和Web爬虫的交互式开发环境。Web爬虫(也叫作机器人或蜘蛛)是可以自动浏览与处理Web页面的程序。WebSPHINX由两部分组成:爬虫工作平台和WebSPHINX类包。

WebSPHINX主要用途

1)可视化显示页面的集合

2)下载页面到本地磁盘用于离线浏览

3)将所有页面拼接成单个页面用于浏览或者打印

4)按照特定的规则从页面中抽取文本字符串

5)用Java或Javascript开发自定义的爬虫

常见的java爬虫框架对比

本文介绍java爬虫框架有哪些,各有什么特点。

八爪鱼·云采集网络爬虫软件

http://www.70edu.com

相关阅读:

采集搜狗微信文章(搜索关键词):

http://www.70edu.com/tutorialdetail-1/sgwxwzcj-7.html

亚马逊商品信息采集:

http://www.70edu.com/tutorialdetail-1/ymxspxxcj.html

京东商品信息采集:

http://www.70edu.com/tutorialdetail-1/jdsp_7.html

知乎回答内容采集方法:

http://www.70edu.com/tutorialdetail-1/zh-hd-7.html

58同城电话号码采集:

http://www.70edu.com/tutorialdetail-1/58phonecj.html

搜狗微信热门文章采集:

http://www.70edu.com/tutorialdetail-1/sgwxcj.html

本文介绍java爬虫框架有哪些,各有什么特点。

八爪鱼·云采集网络爬虫软件

http://www.70edu.com

八爪鱼——90万用户选择的网页数据采集器。

1、操作简单,任何人都可以用:无需技术背景,会上网就能采集。完全可视化流程,点击鼠标完成操作,2分钟即可快速入门。

2、功能强大,任何网站都可以采:对于点击、登陆、翻页、识别验证码、瀑布流、Ajax脚本异步加载数据的网页,均可经过简单设置进行采集。

3、云采集,关机也可以。配置好采集任务后可关机,任务可在云端执行。庞大云采集集群24*7不间断运行,不用担心IP被封,网络中断。

4、功能免费+增值服务,可按需选择。免费版具备所有功能,能够满足用户的基本采集需求。同时设置了一些增值服务(如私有云),满足高端付费企业用户的需要。


java爬虫框架有哪些,各有什么特点.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第二批党的群众路线教育实践活动心得(乡镇)

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219