Heritrix是一个基于Java的开源的具有高扩展性高灵活性的Web爬虫开源项目。
Heritrix的几大亮点如下:
1.开源,如果你想了解爬虫相关知识,阅读Heritrix源码是不二之选。
2.抓取性能高,配置灵活
3.扩展性很好,便于进行二次开发
不过Heritrix让我唯一遗憾的是不支持分布式抓取,不过仍然不能否定Heritrix是一款不错的爬虫开源框架。,值得我们去学习它。
这里我以Heritrix1.14.4版本为例进行讲解Heritrix环境的搭建。其实Heritrix目前版本已经更新到了3.2.0,但Heritrix1.14.4版本是1.x系列的最后一个封顶版本,是最为经典的一个版本,所以我们还是先从低版本开始学习,然后再研究3.x版本会比较轻松。
Heritrix下载地址如下:
http://sourceforge.net/projects/archive-crawler/files/?source=navbar
下载完成后,你将会得到两个zip压缩包文件,heritrix-1.14.4-src.zip和heritrix-1.14.4.zip。请解压heritrix-1.14.4.zip到任意盘符,这里我直接解压到E盘。解压后得到如图的目录结构:
目录结构说明如下:
bin: Heritrix的一些脚本文件
conf:Heritrix的配置文件,用于控制Heritrix的爬取行为
docs:Heritrix的API文档,HTML格式
lib:Heritrix依赖的jar文件
webapps:Heritrix的web程序,其中admin.war是Heritrix的web后台程序
heritrix-1.14.4.jar是Heritrix的启动执行文件,只要你的.jar后缀文件与java.exe程序关联了,你双击heritrix-1.14.4.jar就会启动Heritrix,Heritrix默认自带了Jetty容器。但官方打包的heritrix-1.14.4.jar文件里的MANIFEST.MF文件有点小问题,它没有添加lib依赖,所以我修改了它的MANIFEST.MF清单文件。heritrix-1.14.4.jar的MANIFEST.MF清单文件查看方法如图:
修改之前MANIFEST.MF文件的内容如下:
Manifest-Version: 1.0 Ant-Version: Apache Ant 1.5.3 Created-By: Apache Maven Built-By: stack Package: org.archive Build-Jdk: 1.6.0_13 Extension-Name: heritrix Specification-Title: An open-source, extensible, web-scale crawler. Specification-Vendor: Internet Archive Implementation-Title: org.archive Implementation-Vendor: Internet Archive Implementation-Version: 1.14.4 Main-Class: org.archive.crawler.Heritrix
修改之后MANIFEST.MF文件内容如下:
Manifest-Version: 1.0 Ant-Version: Apache Ant 1.5.3 Created-By: Apache Maven Built-By: stack Package: org.archive Build-Jdk: 1.6.0_13 Extension-Name: heritrix Specification-Title: An open-source, extensible, web-scale crawler. Specification-Vendor: Internet Archive Implementation-Title: org.archive Implementation-Vendor: Internet Archive Implementation-Version: 1.14.4 Main-Class: org.archive.crawler.Heritrix Class-Path: lib/ant-1.6.2.jar lib/ant-1.6.2.jar lib/bsh-2.0b4.jar lib/commons-cli-1.0.jar lib/commons-codec-1.3.jar lib/commons-collections-3.1.jar lib/commons-httpclient-3.1.jar lib/commons-io-1.3.1.jar lib/commons-lang-2.3.jar lib/commons-logging-1.0.4.jar lib/commons-net-2.0.jar lib/commons-pool-1.3.jar lib/dnsjava-2.0.3.jar lib/fastutil-5.0.3-heritrix-subset-1.0.jar lib/itext-1.2.0.jar lib/jasper-compiler-tomcat-4.1.30.jar lib/jasper-runtime-tomcat-4.1.30.jar lib/javaswf-CVS-SNAPSHOT-1.jar lib/je-3.3.82.jar lib/jericho-html-2.6.jar lib/jets3t-0.5.0.jar lib/jetty-4.2.23.jar lib/joda-time-1.6.jar lib/junit-3.8.2.jar lib/libidn-0.5.9.jar lib/mg4j-1.0.1.jar lib/poi-2.0-RC1-20031102.jar lib/poi-scratchpad-2.0-RC1-20031102.jar lib/servlet-tomcat-4.1.30.jar
至于MANIFEST.MF文件如何编写,MANIFEST.MF文件有什么编写规范,请自己Google学习,这里不做过多赘述。
MANIFEST.MF清单文件编写好了之后,我们需要把它覆盖到heritrix-1.14.4.jar下,如图:
然后我们就能dos命令行下切到E:\heritrix-1.14.4路径下,然后java –jar heritrix-1.14.4.jar来启动Heritrix,但为了方便(不想每次都敲这些命令),我们可以写个bat批处理文件,如图:
然后用文本编辑软件进行编辑,编辑内容如下:
%~d0 cd %~dp0 java -Xmx512m -Dheritrix.home=./ -jar heritrix-1.14.4.jar
%~d0表示当前bat文件所在目录
heritrix.home表示heritrix的安装根目录
然后我们就可以双击startup.bat文件来启动Heritrix,双击后dos窗口一闪而过,说明Heritrix启动失败了。这是因为我们还需要对Heritrix的配置文件进行一些修改。打开E:\heritrix-1.14.4\conf目录下的heritrix.properties配置进行编辑,如图:
然后我们再次启动Heritrix,会看到如图信息:
至此,Heritrix1.14.4就环境搭建成功了,打开浏览器,输入http://localhost:6789访问Heritrix的Web后台,你将看到如图的登录界面:
登录成功后界面如图:
至于如何通过Heritrix Web后台界面创建抓取任务进行数据抓取,留到下一篇来讲解,今天就到这里。
益达的GitHub地址:请猛戳我,用力,吃点劲儿!!!
益达的新浪微博:看这里,看这里
益达的技术交流社区:码农们,I want you!!!
益达Q-Q: 7-3-6-0-3-1-3-0-5
益达的Q-Q群: 1-0-5-0-9-8-8-0-6
相关推荐
Heritrix 1.14.4是该软件的一个较早版本,但依然具有广泛的适用性,尤其对于学习和研究网络爬虫技术的初学者而言。 在Heritrix 1.14.4中,主要涉及以下几个核心知识点: 1. **网络爬虫原理**:网络爬虫是自动化...
在Heritrix 1.14.4的源代码中,我们可以找到以下几个关键组件和概念: 1. **调度器(Scheduler)**:负责管理待爬取URL的队列,依据设定的策略决定下一个要抓取的网页。这可能包括优先级调度、广度优先或深度优先等...
heritrix1.14.4的源码包,包含heritrix1.14.4.zip和heritrix1.14.4-src.zip。heritrix是一种开源的网络爬虫,用于爬去互联网中的网页。如何配置和使用heritrix爬虫,请移步:...
4. **源码编译与运行**:下载Heritrix 1.14.4的源码包后,首先需要一个Java开发环境(JDK),因为Heritrix是用Java编写的。然后,使用Maven或Ant等构建工具进行编译,最后通过Java命令运行编译后的类。 5. **使用...
本文将详细阐述如何在MyEclipse环境下搭建和配置Heritrix 1.14.4。 首先,我们需要了解Heritrix的基本概念。Heritrix是一个可编程的、高度模块化的爬虫,支持定制化策略以满足各种抓取需求。它使用Java编写,因此在...
这个“Heritrix1.14.4源码+项目”压缩包包含的是Heritrix 1.14.4版本的源代码和相关项目文件,对于学习和理解Web爬虫的工作原理,以及进行自定义开发是非常有价值的。 Heritrix的核心功能是通过模拟浏览器行为来...
Heritrix 1.14.4是该工具的一个版本,提供了两个压缩包:`heritrix-1.14.4.zip`和`heritrix-1.14.4-src.zip`。这两个文件分别包含了不同的内容,便于用户根据需求进行使用和开发。 `heritrix-1.14.4.zip` 包含了...
Heritrix 1.14.4是该项目的一个稳定版本,提供了许多功能和改进,确保了高效和可靠的数据采集。 在Heritrix中,核心概念是“策略”(Strategies)和“处理器”(Processors)。策略定义了爬虫如何选择要抓取的URL,...
要使用Heritrix-1.14.4-src,你需要首先安装Java开发环境(JDK),然后遵循提供的构建指示编译源代码。一旦编译成功,你可以配置Heritrix以适应你的爬虫需求,例如设置爬行深度、排除某些URL模式,或者定制链接解析...
这个"heritrix-1.14.4"版本是Heritrix的特定发行版,提供了对互联网资源进行系统性抓取的功能,帮助用户构建自己的网络存档。 标题"heritrix-1.14.4"表明这是Heritrix的1.14.4版本,这是一个重要的标识,因为每个...
这个版本的源码和编译后的二进制文件分别以"heritrix-1.14.4.zip"和"heritrix-1.14.4-src.zip"的名义提供,允许用户进行深入研究、学习或二次开发。 在Heritrix中,爬虫的主要工作流程包括种子管理、URL过滤、内容...
标题"heritrix-1.14.4 for linux"表明这是Heritrix的Linux兼容版本,版本号为1.14.4。在Linux操作系统上运行Heritrix,用户可以利用Linux系统的稳定性和高效性来处理大量的网络抓取任务。 描述中的"heritrix-1.14.4...
Heritrix-1.14.4源代码的提供,对于那些希望深入理解网络爬虫工作原理、想要定制爬虫功能或者进行相关研究的开发者来说,是一个宝贵的学习资源。 Heritrix的设计遵循模块化和可扩展的原则,它将爬虫的功能分解为多...
Heritrix 1.14.4是其在某个时间点的版本,提供了丰富的功能和配置选项,以适应各种复杂的抓取需求。"heritrix-1.14.4-docs.rar"这个压缩包包含了该版本的文档,帮助用户理解和使用Heritrix。 文档通常包括用户手册...
近期需要使用heritrix-1.14.4,配了半天才配好,这个是控制台执行版本. 注意:解压到相关目录,之后配置系统环境变量"HERITRIX_HOME"到该解压目录(Java环境已经配置好)。 使用控制台命令启动 : heritrix --admin=...