Heritrix1.14.4环境搭建

简介:

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.zipheritrix-1.14.4.zip。请解压heritrix-1.14.4.zip到任意盘符,这里我直接解压到E盘。解压后得到如图的目录结构:

 
目录结构说明如下:

bin: Heritrix的一些脚本文件

conf:Heritrix的配置文件,用于控制Heritrix的爬取行为

docs:HeritrixAPI文档,HTML格式

lib:Heritrix依赖的jar文件

webapps:Heritrixweb程序,其中admin.warHeritrixweb后台程序

 

heritrix-1.14.4.jarHeritrix的启动执行文件,只要你的.jar后缀文件与java.exe程序关联了,你双击heritrix-1.14.4.jar就会启动HeritrixHeritrix默认自带了Jetty容器。但官方打包的heritrix-1.14.4.jar文件里的MANIFEST.MF文件有点小问题,它没有添加lib依赖,所以我修改了它的MANIFEST.MF清单文件。heritrix-1.14.4.jarMANIFEST.MF清单文件查看方法如图:


 

 

 

 
修改之前MANIFEST.MF文件的内容如下:

Manifest.mf代码   收藏代码
  1. Manifest-Version: 1.0  
  2. Ant-Version: Apache Ant 1.5.3   
  3. Created-By: Apache Maven  
  4. Built-By: stack  
  5. Package: org.archive  
  6. Build-Jdk: 1.6.0_13  
  7. Extension-Name: heritrix  
  8. Specification-Title: An open-source, extensible, web-scale crawler.  
  9. Specification-Vendor: Internet Archive  
  10. Implementation-Title: org.archive  
  11. Implementation-Vendor: Internet Archive  
  12. Implementation-Version: 1.14.4  
  13. Main-Class: org.archive.crawler.Heritrix  

 

 修改之后MANIFEST.MF文件内容如下:

Manifest.mf代码   收藏代码
  1. Manifest-Version: 1.0  
  2. Ant-Version: Apache Ant 1.5.3   
  3. Created-By: Apache Maven  
  4. Built-By: stack  
  5. Package: org.archive  
  6. Build-Jdk: 1.6.0_13  
  7. Extension-Name: heritrix  
  8. Specification-Title: An open-source, extensible, web-scale crawler.  
  9. Specification-Vendor: Internet Archive  
  10. Implementation-Title: org.archive  
  11. Implementation-Vendor: Internet Archive  
  12. Implementation-Version: 1.14.4  
  13. Main-Class: org.archive.crawler.Heritrix  
  14. Class-Path: lib/ant-1.6.2.jar  
  15.   lib/ant-1.6.2.jar  
  16.   lib/bsh-2.0b4.jar  
  17.   lib/commons-cli-1.0.jar  
  18.   lib/commons-codec-1.3.jar  
  19.   lib/commons-collections-3.1.jar  
  20.   lib/commons-httpclient-3.1.jar  
  21.   lib/commons-io-1.3.1.jar  
  22.   lib/commons-lang-2.3.jar  
  23.   lib/commons-logging-1.0.4.jar  
  24.   lib/commons-net-2.0.jar  
  25.   lib/commons-pool-1.3.jar  
  26.   lib/dnsjava-2.0.3.jar  
  27.   lib/fastutil-5.0.3-heritrix-subset-1.0.jar  
  28.   lib/itext-1.2.0.jar  
  29.   lib/jasper-compiler-tomcat-4.1.30.jar  
  30.   lib/jasper-runtime-tomcat-4.1.30.jar  
  31.   lib/javaswf-CVS-SNAPSHOT-1.jar  
  32.   lib/je-3.3.82.jar  
  33.   lib/jericho-html-2.6.jar  
  34.   lib/jets3t-0.5.0.jar  
  35.   lib/jetty-4.2.23.jar  
  36.   lib/joda-time-1.6.jar  
  37.   lib/junit-3.8.2.jar  
  38.   lib/libidn-0.5.9.jar  
  39.   lib/mg4j-1.0.1.jar  
  40.   lib/poi-2.0-RC1-20031102.jar  
  41.   lib/poi-scratchpad-2.0-RC1-20031102.jar  
  42.   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批处理文件,如图:

 
然后用文本编辑软件进行编辑,编辑内容如下:

Txt代码   收藏代码
  1. %~d0  
  2. cd %~dp0  
  3. 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

转载:http://iamyida.iteye.com/blog/2236743

目录
相关文章
|
存储 Linux
Linux文件管理(超详细讲解)
Linux文件管理(超详细讲解)
647 5
|
11月前
|
IDE 测试技术 开发工具
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
在Python开发中,调试是提升效率的关键技能。本文总结了10个实用的调试方法,涵盖内置调试器pdb、breakpoint()函数、断言机制、logging模块、列表推导式优化、IPython调试、警告机制、IDE调试工具、inspect模块和单元测试框架的应用。通过这些技巧,开发者可以更高效地定位和解决问题,提高代码质量。
1084 8
10个必备Python调试技巧:从pdb到单元测试的开发效率提升指南
|
JavaScript 安全 前端开发
乾坤js隔离机制
乾坤js隔离机制
|
11月前
|
关系型数据库 MySQL Linux
MySQL数据库下载安装教程(Windows&Linux)
本文档详细介绍了MySQL的安装步骤,包括安装前的准备工作、下载安装包、Windows和Linux系统下的具体安装流程,以及如何配置MySQL服务、设置环境变量、启动服务和连接数据库等关键操作。
关于如何解决mingw64安装后配置完环境变量仍然执行不了gcc命令
关于如何解决mingw64安装后配置完环境变量仍然执行不了gcc命令
|
SQL 运维 大数据
大数据实时计算产品的对比测评
在使用多种Flink实时计算产品后,我发现Flink凭借其流批一体的优势,在实时数据处理领域表现出色。它不仅支持复杂的窗口机制与事件时间处理,还具备高效的数据吞吐能力和精准的状态管理,确保数据处理既快又准。此外,Flink提供了多样化的编程接口和运维工具,简化了开发流程,但在界面友好度上还有提升空间。针对企业级应用,Flink展现了高可用性和安全性,不过价格因素可能影响小型企业的采纳决策。未来可进一步优化文档和自动化调优工具,以提升用户体验。
347 0
|
SQL 安全 关系型数据库
【SQL】已解决:MySQL 服务无法启动
【SQL】已解决:MySQL 服务无法启动
4574 1
|
SQL 数据采集 运维
蚂蚁第三代混沌工程助力风险防控提升
蚂蚁第三代混沌工程助力风险防控提升
3073 1
蚂蚁第三代混沌工程助力风险防控提升
|
网络协议 物联网 Linux
Linux下TCP网络编程-创建服务器与客户端
这篇文章介绍在Linux下的socket编程,完成TCP服务器、客户端的创建,实现数据通信。
742 0
|
分布式计算 监控 大数据
Spark RDD分区和数据分布:优化大数据处理
Spark RDD分区和数据分布:优化大数据处理