`
V3551G
  • 浏览: 2243 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

基于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的架构,原理做以简单的分析、介绍

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
分享到:
评论

相关推荐

    基于Lucene的小型搜索引擎

    通过Heritrix爬取数据,利用Lucene建立高效索引,JSP实现交互界面,形成了一套完整的搜索引擎系统。这样的实践项目不仅有助于理解搜索引擎的工作原理,也为实际的网页搜索应用提供了基础框架。对于学习和研究搜索...

    基于R语言爬取电商数据的价格销售分析.doc

    Heritrix是一个基于Java的爬虫框架,提供了一种灵活和高效的方式来爬取和处理数据。Heritrix框架支持多种数据格式,包括HTML、XML、JSON等,可以爬取和处理大量数据。 系统分析 系统分析是指对系统的需求和可行性...

    【毕业设计】基于Heritrix的Web信息抽取.doc

    Heritrix是一个开源的、基于Java的Web爬虫框架,能够高效地爬取和抽取Web页面的信息。通过使用Heritrix,可以实现自动化的Web信息抽取,提高信息抽取的准确性和效率。 本文的主要贡献在于提出了一种基于Heritrix的...

    基于Lucene_Heritrix的垂直搜索引擎的研究与应用

    #### 二、基于Java的全文检索引擎—Jakarta Lucene ##### 2.1 Lucene简介 Lucene是由Java编写的开源全文检索引擎框架。它最初作为Apache软件基金会Jakarta项目的一个子项目启动,后来因其强大的功能而被广泛采用,...

    开发自己的搜索引擎lucene+heritrix(第2版)(ch13-ch15源码)

    1. **数据流集成**:Heritrix爬取的网页内容可以被直接送入Lucene进行索引,实现对互联网内容的实时搜索。 2. **深度搜索**:结合Heritrix的爬虫能力,Lucene的搜索引擎可以对互联网上的大量数据进行深度搜索,提高...

    Lucene+Heritrix(搜索引擎开发)

    - 熟练掌握Java编程语言,因为Lucene和Heritrix都是基于Java的。 - 对全文搜索技术有基本了解,包括索引、分词、查询处理等。 - 理解爬虫的工作原理,以及如何使用爬虫抓取网站数据。 - 能够处理大量数据,解决存储...

    Heritrix爬虫框架 完整版

    Heritrix爬虫框架是一款基于Java开发的开源网络爬虫工具,专为互联网资源的抓取而设计。这款强大的框架以其高度的可扩展性和灵活性著称,允许开发者根据实际需求定制爬取策略,从而实现对特定网站或网络内容的深度...

    heritrix爬虫安装部署

    Heritrix的设计初衷是为了满足大规模网页归档的需求,但因其灵活的架构和丰富的API,也被广泛应用于数据挖掘、搜索引擎优化等领域。 #### 二、Heritrix下载、安装与配置 ##### 2.1 下载 - **下载地址**: 通常可以从...

    heritrix源码

    策略可以定制,比如深度优先、广度优先、基于链接关系的爬取等。 4. **链接管理**:Heritrix使用Crawler-Cocoon项目中的LinkExtractor类来识别和处理HTML文档中的链接。它可以处理相对URL、绝对URL,并且能根据...

    基于Heritrix的主题网络爬虫设计与实现.pdf

    Heritrix是一个由Java语言编写的开源Web网络爬虫框架。它采用了高度模块化的设计理念,具备良好的可扩展性和灵活性。Heritrix的核心组件包括: - **CrawlOrder**:抓取任务的起点,可以通过配置文件来设定抓取策略...

    Heritrix的安装与配置

    在本文中,我们将深入探讨如何安装和配置Heritrix 1.14.4版本,这是一个基于Java的爬虫工具。 首先,我们需要从SourceForge网站下载Heritrix的源代码版本,文件名为`heritrix-1.14.4-src.zip`。选择源代码版本的...

    Heritrix—开发自己的搜索引擎

    1. **网络爬虫基础**:Heritrix是一个基于Java的网络爬虫,它遵循HTTP/1.1协议,能够模拟浏览器与服务器之间的交互。爬虫会遍历互联网上的链接,按照预设的规则抓取网页内容,这包括HTML、图片、PDF等各种格式的文件...

    heritrix正确完整的配置heritrix正确完整的配置

    Heritrix是一款开源的网络爬虫工具,由互联网档案馆(Internet Archive)开发,用于抓取和保存网页。它的配置是整个爬虫工作的关键,确保Heritrix正确完整地配置对于实现高效、有针对性的网络抓取至关重要。以下将...

    heritrix系统使用.ppt

    此外,通过调整`Profiles`中的`max-delay-ms`、`min-delay-ms`、`max-retries`和`retry-delay-seconds`等设置,可以优化爬取速度,同时通过设置`-Xmx`参数增加Java虚拟机(JVM)内存以提高性能。 Heritrix的一个...

    网络爬虫(heritrix)代码

    1. **自定义爬取行为**:通过编写Java插件,可以修改Heritrix的行为,例如改变URL过滤规则,处理特定类型的网页内容,或者实现特定的存储策略。 2. **控制台操作**:Heritrix提供了一个基于Web的控制台,允许用户...

    heritrix-1.14.4.zip 和 heritrix-1.14.4-src.zip

    Heritrix的设计基于模块化和可扩展性,它的主要组件包括爬取管道(Crawler Pipelines)、策略(Policies)、处理器(Processors)和存储器(Archivers)。爬取管道负责管理爬取流程,从URL调度到页面解析,再到内容...

Global site tag (gtag.js) - Google Analytics