神码不是浮云 2010-12-04
前段时间看了下关于网络爬虫的知识,其中的heritrix是爬虫的优秀代表。heritrix是java的一个开源的可扩展的"爬虫"框架。它可以对互联网上的相应网页进行抓取存档。而搜索引擎丰富数据库的建立,正是利用网络爬虫的抓取。而且heritrix对构建垂直搜索引擎提供了可靠的大量数据。
heritrix的运行有两种。一是可以在cmd环境下配置好jar包的路径和环境变量,二是在Eclipse下配置。第一种自己没有实现,下面介绍下heritrix在MyEclipse中的配置,自己参照了网上的许多资料。
1.首先,下载Heritrix-1.12.1。在BrowseHeritrix:InternetArchiveWebCrawlerFilesonSourceForge.net可以下载。需要下载两个包heritrix-1.12.1-src.zip和heritrix-1.12.1.zip。
2.MyEclipse中建立java工程。包解压到E盘。
(1)将目录E:\Heritrix\heritrix-1.12.1-src\heritrix-1.12.1\src\java\下面的三个目录:org、com、st一起拷贝到新建工程Heritrix-1.12.1目录下面(绝对路径为D:\eclipse-SDK-3.2.1-win32\workspace\Heritrix-1.12.1)。
(2)将目录E:\Heritrix\heritrix-1.12.1-src\heritrix-1.12.1\src\conf\下面的:三个目录(包括:modules、profiles、selftest),以及四个文件(包括:heritrix.properties、jmxremote.password.template、heritrix.cacerts、jndi.properties)一起拷贝到新建的工程Heritrix-1.12.1目录下面(绝对路径为D:\eclipse-SDK-3.2.1-win32\workspace\Heritrix-1.12.1)。
(3)将目录E:\Heritrix\heritrix-1.12.1-src\heritrix-1.12.1\src\resources\下面的三个文件(包括:arcMetaheaderBody.xsl、warcinfobody.xsl、README.txt,其中README.txt没有用处是显而易见的)拷贝到新建的工程Heritrix-1.12.1目录下面(绝对路径为D:\eclipse-SDK-3.2.1-win32\workspace\Heritrix-1.12.1)。
(4)将目录E:\Heritrix\heritrix-1.12.1\heritrix-1.12.1\下面的webapps目录拷贝到新建工程Heritrix-1.12.1目录下面(绝对路径为D:\eclipse-SDK-3.2.1-win32\workspace\Heritrix-1.12.1),这里,webapps目录下面有两个WAR包(即admin.war和selftest.war)。
3.添加相应的jar包后,修改下配置文件。配置用户名和密码。在heritrix.properties文件中。
heritrix.cmdline.admin=
heritrix.cmdline.port=8080
4.这时,可以在包中运行org.archive.crawler中的heritrix.java,打开网页输入用户名和密码后,成功运行就可以在窗口中运行heritrix的webUI界面了。如图
00:55:24.687WARN!!DeleteexistingtempdirC:\DOCUME~1\Owner\LOCALS~1\Temp\Jetty_127_0_0_1_8085__forWebApplicationContext[/,jar:file:/D:/MyEclipse8.0%20workspace/heritrix/webapps/admin.war!/]
00:55:25.093EVENTStartedWebApplicationContext[/,HeritrixConsole]
00:55:25.375EVENTStartedSocketListeneron127.0.0.1:8085
00:55:25.375EVENTStartedorg.mortbay.jetty.Server@b988a6
Heritrixversion:1.12.1
5.运行后,可以参照help中的说明自己设置相应的抓取参数。我们还可以扩展其中的部分组件来抓取自己相应的网页。
注意;在MyEclipse配置过程中注意,可能出现编译错误的。在相应的java工程文件中的properties中的javacompiler来更改下设置。