Heritrix1.14.4抓取任务设置

来源:互联网 发布:综合国力排名2017数据 编辑:程序博客网 时间:2024/06/01 08:22

笔者初学网络爬虫,经过搜索相关信息,发现heritrix 1.14.x的参考资料较多一点,而且直接通过WebUI定制的参数比3.x要多一些(3.x要直接配置craw-beans.cxml),适合初学者,所以决定先从heritrix 1.14.4学起了。

1、运行Heritrix(也可以导入到eclipse里面运行)
1) 压缩包解压,以文本编辑方式打开 /heritrix/conf 下的heritrix.properties文件,在“heritrix.cmdline.admin = ” 项的后面加入你所要设定的管理员账户和密码,用“:”分割,如:
   heritrix.cmdline.admin = admin:admin
2) 复制 /heritrix/conf 下的jmxremote.password.template文件到主目录/Heritrix 下,更名为jmxremote.password。编辑此文件,更改最后两行"monitorRole @PASSWORD@""controlRole @PASSWORD@"中的"@PASSWORD@"为管理员密码。如:
monitorRole admin

controlRole admin

3) 运行Heritrixcmdcd进入heritrixbin目录下,命令:heritrix -a admin:admin,打开heritrix

2、在浏览器地址栏输入地址,进入WebUI,点击WebUI菜单栏上Jobs标签,进入任务创建页面。四种任务创建方式,选择With defaults方式。

heritrix中,一个任务对应一个配置文件,默认名称为oder.xml,记录heritrix运行所需信息。四种创建方式会分别生成一个order.xmlWith defaults会复制profile\default目录下的order.xml文件。

填入信息。


3点Modules按钮,进入配置抓取时的处理链的页面。每个部件后面详细介绍,这里大体说明一下。

各部件大体的功能:

Crawl Scope配置网页抓取范围.

Frontier是一个URL处理器,决定下一个被处理的url,同时将处理器解析出来的url加入到等待队列中去。这里使用的是BdbFrontier掌管url分配。

PrePocessor预处理,判断robot.txt的信息等,处理链的入口。

Fetcher解析DNSHTTP等。

Extractor从页面提取url,如ExtractorHTTP,http应答头文中提取urlExtractorHTMLhtml中提取url

Writer信息写入磁盘方式,ARCWriterProcessor 表示用压缩的方式写入,Mirror是镜像的方式。Mirror方式可以直接查看。

PostProcess,解析结束后扫尾工作,如将解析出来url加入待处理的队列。

1.14.4每个处理器都已经默认选取,以前版本(1.14.0)要自己特意选取,这里我的设置如下。


PS:在这里为了便于查看抓取到的信息,我只设置Writer Processors,在下拉列表中选Mirror WriterProcessor,然后点add,将ARCWriterProcessor Remove掉。其余都是默认的。


4、点Settings进入属性设置页面。

可以看到各种属性,如Max-bytes-download抓取器最大下载字节数,0表示无限制。这里只设置一下必要的参数,其余为默认值:


改为:


Version,表示使用的版本,PROJECT_URL_HERE可以为任何完整的URLfrom,格式正确的邮件地址。


5回到console界面,点start任务开始。点Refresh刷新,查看下载情况。


Jobs文件夹下有以工作任务和抓取时间命名的文件,里面mirror就是你抓取的数据。