`
whiteotiger
  • 浏览: 9962 次
  • 性别: Icon_minigender_1
  • 来自: 南通
最近访客 更多访客>>
社区版块
存档分类
最新评论

Nutch多格式支持技术方案

 
阅读更多

Nutch可以对多种格式的资源实现抓取,只需要做一些配置上的修改即可,下面就是一些配制方法

1、抓取 pdf|doc|xls|ppt|txt

默认情况下可以搜索txt内容,pdf|doc|xls|ppt 需要配置如下文件:

1. parse-plugins.xml: 指定文件使用的parser,默认nutch使用了第三方的tika作为parser

2. nutch-default.xml:

<name>plugin.includes</name> 默认使用tika,若单独指定,则按照如下格式:

<value>.....|parse-(text|html|js|pdf|msexcel|mspowerpoint|msword)|...

<name>http.content.limit</name> 指定从http协议读取的文件大小

<value>-1</value> -1表示无限制,不然可能会有parse incomplete exception

3. regex-urlfilter.txt ppt xls从过滤列表中去掉(pdf,doc默认不过滤)

4. crawl-urlfilter.txt ppt xls从过滤列表中去掉(pdf,doc默认不过滤)

2、解析 pdf|doc|xls|ppt|txt

用命令行执行用ant编译后的代码没有问题,问题存在于eclipse环境下。

问题原因分析:eclipse下无法区分不同jar包内相同的package下的相同class文件,而nutch下的parse-pdf插件和lib-jakarta-poi插件分别使用了两个旧版本的第三方包:PDFBox-0.74-dev.jarpoi-3.5-beta4-20081128.ar, poi-scratchpad-3.5-beta4-20081128.jar。在parse-tika插件下分别使用了pdfbox-1.1.0.jar, poi-scratchpad-3.6.jar(用于解析msoffice)poi-3.6.jar。为了让程序执行时能够调用parse-tika所引用的包,需要在build pathremove掉以上给出的三个旧的jar包。

多格式文件解析的测试方法:执行org.apache.nutch.parse.ParserCheckermain函数,参数为需要爬取和解析的文件url

3、解析流程

org.apache.nutch.parse.ParseUtil.parse(Content)方法是解析的入口函数,其流程是先根据输入文档的类型取得相应的parser,再调用该parsergetParse方法执行解析。若解析时间未设置为-1(无穷大),则调用runParser方法,通过timer来控制解析的超时。以解析msword为例,调用流程为ParseUtil.parse -> TikaParser.getParse -> OfficeParser.parse

分享到:
评论

相关推荐

    Apache Nutch v1.15

    自Nutch1.2版本之后,Nutch已经从搜索引擎演化为网络爬虫,接着Nutch进一步演化为两大分支版本:1.X和2.X,这两大分支最大的区别在于2.X对底层的数据存储进行了抽象以支持各种底层存储技术。 在Nutch的进化过程中,...

    nutch网页爬取总结

    3. **多语言支持**:Nutch 支持多种语言的网页抓取,可以通过调整配置来处理非英文内容。 4. **调度策略**:Nutch 提供了不同的调度策略,如 FIFO、优先级调度等,以优化抓取效率。 5. **安全抓取**:Nutch 可以遵循...

    java Nutch项目

    总的来说,Nutch是一个强大的Java爬虫框架,适合于学习网络爬虫技术、进行数据抓取和分析,或构建自己的搜索引擎系统。通过深入理解和实践,你可以掌握网络爬虫的核心技术和Hadoop的分布式处理能力。

    基于Java的搜索引擎Nutch中文搜索技术研究

    为了改进这一状况,本文在深入分析Nutch架构的基础上,提出了一种支持中文搜索的技术方案。 #### Nutch架构分析 Nutch的核心架构主要由以下几个部分组成: - **爬虫模块**:负责抓取网页。 - **索引模块**:将抓取...

    nutch-1.9 源码

    此外,Nutch还支持其他数据存储解决方案,如Cassandra或MongoDB。 7. **索引与搜索**:Nutch不仅抓取网页,还会将抓取的数据进行索引,以便于后续的搜索操作。它集成了Lucene库,提供高效的全文检索功能。 8. **...

    nutch1.2 java的project

    7. **插件系统**:Nutch支持插件架构,允许用户自定义爬取策略、解析器、索引器等功能。 8. **配置文件**:Nutch的配置文件(如`conf/nutch-site.xml`)非常重要,它们定义了爬虫的行为,如抓取策略、存储路径等。 ...

    nutch框架 搜索引擎

    Nutch的架构允许社区成员根据具体需求定制化功能,支持各种数据模型,例如利用Creative Commons元数据进行授权内容的搜索。此外,Nutch还被用于多个研究项目中,展现出其作为科研平台的强大潜力。 总之,Nutch作为...

    apache-nutch

    1. **多线程抓取**:Nutch 支持多线程抓取网页,提高爬虫的抓取速度和效率。 2. **URL管理**:Nutch 使用URL存储库来管理已抓取和待抓取的URL,确保不重复抓取和避免死循环。 3. **链接分析**:Nutch 集成了PageRank...

    nutch09版本亲测好用

    Nutch 0.9 是一个历史悠久的开源搜索引擎项目,它主要关注网络爬虫和网页抓取方面的技术。这个版本在当时提供了稳定且功能强大的爬虫框架,被广泛用于数据采集和分析任务。以下是对 Nutch 0.9 版本的一些关键知识点...

    Nutch插件机制

    - **插件生命周期管理**:Nutch支持插件的动态加载和卸载,使得系统能够在不重启的情况下更新或替换插件。 #### 四、Nutch插件开发步骤 1. **定义插件**:首先需要定义插件的基本信息,包括名称、版本号等。这些...

    Nutch公开课从搜索引擎到网络爬虫

    Nutch的发展历程中出现了两个主要的分支版本:1.X和2.X,它们之间最大的区别是2.X版本对底层数据存储进行了抽象,以支持更广泛的存储技术,这使得Nutch可以适应更多样的大数据存储需求。 Nutch项目背后的关键人物是...

    nutch入门教程

    而Nutch不仅包含Lucene的索引能力,还集成了网页抓取、链接分析等更多功能,是一个全面的搜索引擎解决方案。 #### 2. Nutch的安装与配置 **2.1 JDK的安装与配置** Nutch依赖于Java环境,因此首先需要在服务器或...

    nutch 0.9 版(包含war,bin,src可直接部署使用)

    提供的WAR(Web Application Archive)文件是Java Web 应用的标准打包格式,可以直接部署在支持Servlet和JSP的Web服务器上,如Tomcat。在Nutch 0.9 中,这个WAR文件包含了运行Nutch Web界面所需的全部组件,包括Web...

    Nutch相关框架视频教程 (1-20)(PDF)

    1. **Nutch的衍生项目**:Nutch不仅仅是一个独立的项目,它的研究和发展过程中孕育出了多个重要的开源项目,包括Hadoop、Tika和Gora。这表明Nutch在大数据处理和搜索引擎技术领域具有深远的影响。 - **Hadoop**:...

    Lucene+Nutch搜索引擎开发

    当我们将Lucene与Nutch结合起来使用时,可以构建出一个完整的搜索引擎解决方案。具体步骤如下: 1. **网页爬取**:使用Nutch进行网页爬取,根据配置策略抓取目标网站的数据。 2. **数据处理**:对爬取回来的数据...

    Nutch技术的主题搜索引擎实现_李东海

    Nutch技术的主题搜索...总之,Nutch技术的主题搜索引擎实现是一个涵盖网络抓取、文本处理、索引构建、搜索排名等多个环节的复杂过程。通过深入理解和实践Nutch,我们可以构建出强大的、适应特定需求的搜索引擎系统。

    nutch+lucene开发自己的搜索引擎ch3.pdf

    - Nutch支持分布式计算,能够处理海量数据集。 - 利用Hadoop等大数据处理框架,Nutch能够高效地处理和分析大规模数据。 4. **开源与社区**: - 作为Apache基金会的一部分,Nutch同样受益于强大的社区支持。 - ...

    Lucenechapter11.rar_nutch

    Nutch爬虫的智能在于其能够自动处理各种URL格式,并且具备重试和错误恢复机制,确保数据采集的完整性。 接下来,索引器对抓取的网页进行预处理,包括分词、去除停用词、词干提取等,这些步骤是文本分析的基础。...

Global site tag (gtag.js) - Google Analytics