heritrix的简单使用以及在后台调用heritrix

heritrix是一个开源的java爬虫框架。这里简单介绍linux下heritrix的运行配置以及如何在后台自己的程序中调用heritrix程序爬指定的网站。

 

=========== heritrix的配置及运行 ============

关于heritrix的安装、配置及WEBUI运行网上介绍比较多,详细请看:

http://www.iteye.com/topic/84206

这里稍作介绍:

首先将下好的heritrix后解包,修改./conf下的jmxremote.password.template文件到上级目录并改名为jmxremote.password。

修改jmxremote.password文件中的monitorRole与controlRole字段,后面指定用户名与密码(也就是webui的用户名与密码)。配置完后执行heritrix。

1 ./heritrix --admin=XXXX:XXXX

这里完了会提示web console的地址以及登陆的用户名及密码。登陆后即可开始进行网站的爬取工作。

 

=========== order.xml文件介绍 =============

为了能在后台调用heritrix程序,首先需要了解下order.xml文件。这个文件配置了heritrix的一次爬行job的相关参数,具体每个参数的意义请看:

http://guoyunsky.iteye.com/blog/613412,整理的是相当详细。我们这里需要关注的是以下几个路径:

<string name="logs-path"></string>
<string name="checkpoints-path"></string>
<string name="state-path"></string>
<string name="scratch-path"></string>

这些值是heritrix生成的各种文件(有可能你的程序会用到这些文件),这里传入的可以是相对路径也可以是绝对路径。

<string name="seedsfile"></string>

这个是你要爬取的存放网站网址的文件路径。这个文件里的内容是每行一个网址。

 

=========== 后台调用 ==============

在自己的程序里调用heritrix程序爬取我们需要的步骤分为两步,首先生成我们的order.xml文件,指定我们的seedsfile,以及各path节点的路径。接着利用系统调用

heritrix -n order.xml

既可以在自己的程序中使用heritrix进行爬取操作了。

 

=========== 其他 =================

heritrix爬取网站的时间相对还是挺长的,这里给出一位网友的相关参数设置可以优化爬取速度:

http://guoyunsky.iteye.com/blog/629891

 

===========over==================

算是对自己的研究heritrix的一点小的总结。

你可能感兴趣的:(Heritrix)