当前位置:首页 > java知识学习_java技术文章 > 正文

heritrix3爬虫下载安装配置应用全面技术教程

浏览223+

一、heritrix爬虫框架简介

heritrix是一个可以在互联网上面爬取各大网站站点内容的爬虫框架平台,该爬虫框架底层是由Java技术开发,目前已经全面开源,用户可以根据需求应用该爬虫爬取网络资源。

heritrix具有很强的可扩展性,扩展灵活更加适合用户灵活的抓取互联网上的内容,其主要应用板块是一个web项目,它的优势在于它是组件化模块化设置,我们使用的时候可以应用其中的某个模块或者是多个模块定制选择使用,并且其有相应的控制台管理界面,我们可以通过web页面的方式进行指令的操控。

二、工作原理与工作流程

heritrix做爬虫抓取工作主要由两个核心模块儿来完成,一个是core classes核心类,另一个是pluggable modules插件模块儿。

其核心类是整个爬虫开发包的核心,可以在此基础上进行自定义的配置,但是却不能将核心类进行覆盖,而相反的是插件模块可以直接取代,插件模块儿相当于插拔式的组件,也可以使用自己实现的逻辑来替换掉插件模块。这样能够根据自己的业务需求更好的定制爬虫抓取需求。

整个heritrix技术的工作原理以及工作流程是由CrawlController下载控制器来决定的,它是整个爬虫作业的起步者,由它来操控一次爬虫抓取的开始和结束工作,然后边界控制器Frontier负责采集收集url,下载控制器负责从边界控制器中拿到相应的url交给相应的线程池进行处理,线程池中每一个线程负责处理一次url,最后交给Processor chains处理链完成结果的整理与处理。

heritrix3工作原理与执行流程图

三、爬虫核心架构与处理器链详解

接下来我们根据一次抓取任务的执行流程来分析一下heritrix的核心架构,首先我们需要在web控制界面编写或者配置一次抓取任务,就是告诉heritrix我们需要做哪些抓取工作,然后heritrix就会运行。

heritrix核心架构图

heritrix首先会创建一个XMLSettingsHandler对象,然后该对象调用相应的方法完成中央控制器CrawlController对象创建与初始化,这样就完成了基本的抓取准备工作。

然后中央控制器负责抓取任务的驱动,然后启动线程池和Frontier开始抓取url的工作,下图是所有构件的运行与抓取流程示意图。

爬虫抓取流程示意图

由于heritrix的url抓取工作是由多线程来执行的,每一个线程对应一次url,完成一次相应的处理器链执行一遍。因此,整个抓取工作过程中,最重要的就是这个处理器链,下面我们看下处理器链是如何进行对于url处理的。

处理器链执行的五个步骤

首先是预取链儿,顾名思义预取链就是预先对url处理之前做一些先决条件的准备工作。

提取链就是将url对应的网页上的全部信息下载下来进行整理,然后编写相应的请求和响应内容。

抽取链:完成上一步的提取内容工作之后,抽取链主要负责抽取页面上的a标签儿,然后抽取相应的其它的url。

写链主要是对所有的结果进行整理,然后进行存储。

提交链:就是将url抓紧工作做最后的收尾处理,然后将收集到的页面上的其他的url,只要是在任务范围内的url提交给Frontier,让它做其它的抓取工作。

四、heritrix3安装与下载指导教程

1)下载说明

heritrix3.x版本下载方式还是有很多种的,下面我们为大家推荐常用的几种下载方式:

1、首先我们推荐heritrix官网直接下载最新版本,因为官网提供提供的版本是最权威和版本最新的,也没有什么bug,都是经过官方测试过的,因此是我们首推的下载渠道,但是官网地址在国外,有时需要翻墙访问。

2、其次就是我们可以直接在GitHub上面下载,因为GitHub是一个源码下载的权威网站,下载完之后,直接使用开发工具直接编译就可以了,不过GitHub上面优先推荐release版本儿。

2)环境说明

heritrix对环境依赖是有版本要求的,因此我们需要在环境配置这一块儿做一下说明,本篇文章中介绍的以及下面应用的都是基于heritrix3.2版本的,该版本儿依赖的Java环境JDK是1.7的,目前来讲3.2版本貌似还不支持jdk1.8,,如果以后支持了,我们也会在做详细的说明和备注。

五、Linux系统上面配置环境变量

java环境变量配置详情

按照上图中截图中的步骤指示,首先需要配置JDK的环境变量,一般学爬虫的同学对Java应该已经很熟悉了,Java_home的环境变量按照上图的步骤直接配置即可,我们也不会在做作赘述了。

heritrix环境变量配置详情

第二步,配置heritrix_home变量,因为如果想要直接应用heritrix的可执行命令,必须要配置其home变量,将heritrix的bin目录配置path命令下。

heritrix执行权限代码

第三,heritrix启动和执行都需要权限才能够正常启动,因此需要按照上图中的命令配置一下执行权限。

六、启动与运行

由于我们的下载安装与环境变量配置操作都是在Linux系统上完成的,因此再启动heritrix的时候,也是需要以命令行的方式进行启动,下图是我们的启动命令方式以及控制台的细信息,heritrix登录时的默认的登录名和密码都是admin。

heritrix启动与运行详细步骤

上面的步骤操作完成以后,说明heritrix已经正常启动了,我们就可以在浏览器进行访问heritrix的web界面,默认访问地址是:localhost:8443,这是web界面的访问地址,需要注意的是浏览器请求方式必须是HTTPS访问。

如果访问链接后提示如下图所示的不是私密链接的这种技术问题的话应该是安全证书到期了,直接忽悠点击继续进行就好,然后输入用户名和密码admin进入主界面。

heritrix的安全证书界面

heritrix登录成功主界面