基于Java的Heritrix爬取网页

任务:重写一些定制扩展类来实现“网易手机频道”网页的抓取任务。

(转载请注明出处)

准备
环境:eclipse Mars.2 Release (4.5.2)
抓取工具:Heritrix1.14.4
前提条件:已经在eclipse中搭建好了Heritrix环境

参考:http://blog.csdn.net/wy_kath/article/details/9385015


Tomcat PluginV 插件的安装:
PS:安装TomcatPlugin真是太坑了,一定要注意版本的问题,目前最新版本为3.3.1(好像很长时间都没有更新了),本人亲测可以在eclipse4.5上面成功安装,之前由于用3.2 和3.3试了很多次都不成功,一度怀疑自己的智商,Hehe。详细匹配关系见官网:

Tomcat PluginV 插件官网: http://www.eclipsetotale.com/tomcatPlugin.html
安装步骤:
注:本人安装的是3.3.1版本,3.2与3.3的解压之后是一大堆东西,而3.3.1解压之后只有一个 Jar包,请注意。
1.下载插件,并解压
2.解压之后是一个Jar包,直接将其放在eclipse的plugins目录下,重新启动就可以看到下图了:
这里写图片描述
3.配置
这里写图片描述
安装完毕。

———————————————————————————————————————————

开始任务:
代码编写:
1.设计网页抓取的Extractor类
新建包:my.extractor
在该包中新建类文件:Mobile163Extractor,代码见文末
2.设计网页抓取的Frontier类扩展。
新建包:my.postprocessor
在该包中新建类文件:FrontierSchedulerFor163Mobile,代码见文末
3.文件配置:
在processor中添加所编写的扩展类的信息:
my.extractor.Mobile163Extractor|Mobile163Extractor
my.postprocessor.FrontierSchedulerFor163Mobile|FrontierSchedulerFor163Mobile
如下图所示:
这里写图片描述
4 .配置ClassPath
(该步骤非常关键,如果不做的话,将会导致在设置处理器链时没有Add/Change按钮及相应的下拉菜单),过程如下:
右键Heritrix->Run As->Run configuratins…..->classpath->user Entries->Advanced->Add External Folder,找到modules的上一级目录conf将其加入即可。
配置完成后最好重新启动。

注:关于该步骤的原理分析,想要学习的话参照下面网址,几乎所有所有的帖子博客都在讲步骤,这个却是我见过分析并解决问题的,推荐大家看一下,这样会有更深入的理解,(虽然版面乱的一塌糊涂):http://www.tc5u.com/java/1938960.htm


开始抓取任务流程:
0.环境测试:
这里写图片描述
1.设置种子Seeds:
即你要抓取的网页URL,越精准越好。
2.设置处理链
以下两个处理链需更改,其余的默认即可。
这里写图片描述
这里写图片描述
3.属性设置:
以下属性更改,其余的默认即可。
这里写图片描述
改为:
这里写图片描述
5.Start运行
这里写图片描述
6.运行状态分析

这里写图片描述

抓取结果分析:
可以看到设置的种子成功抓取:
这里写图片描述
方框中的6个文件记录了本次抓取结果中的相关数据:
(对应的目录是jobs下的任务)
这里写图片描述
下面对着6个文件做一下简单分析:
(1)Crack order:
主要记录的是本次抓取任务的相关设置
这里写图片描述
(2)Crack Report
抓取任务状态描述,以及抓取到的数据归类分析
这里写图片描述
(3)Crawl.log
这里写图片描述
Tip:如何将抓取到的网页的各种镜像设定存储到磁盘上?
方法:在设置处理器链的时候,有一个Writer,将其设定为:
org.rachive.craweler.prefetch.Preselector,这样一来将会用镜像Mirror的方式来存储抓取结果,抓取任务结束后,可以看到好多“分类文件包”。

(PS:之前没有注意到这个问题)

下一节将会对Heritrix的架构,原理做以简单的分析、介绍

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MasterQKK 被注册

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值