浅析爬虫nutch2.0(一)

前言:

        作为一名程序猿,业务时间总想捣鼓点事情,不局限于工作那点东西。一来可以学习新东西,二来可以锻炼下自己的写作和总结能力,毕竟看的印象和理解远远低于写下来的记录。

      为什么选择nutch,主要因为nutch是一个比较完整的爬虫和索引搜索系统,而且可以自己爬数据进行分析,数据为王的时代,拥有一些数据搜集和分析能力相当重要。另外nutch涉及到的技术比较多,而且都是目前分布式、云计算相关关联比较紧密的技术,可以作为一个很好的开源系统和代码学习工具。

      学习nutch需要必备的知识比较多,这也是初学者入门比较难的主要原因。看书、实践,发现看不懂或者效果不好,主要原因是当前学习东西所依赖的知识,还不熟悉甚至不了解,当然很吃力,所以不要相信什么21天入门。为什么有的人学习和接受能力比你强,并不是别人智商高,往往是别人知道懂得的相关背景知识更多,或者基础更好,学习起来当然快。站在巨人肩膀上,前提当然是有能力站上去。


补充:1)nutch2.0已经不是简单的爬虫系统,还包括分布式存储、索引和检索

            2)以下内容均在linux下,笔者实用的是Ubuntu 14.04LTS 64bit,windows的不涉及,如果捣鼓这些东西还使用windows,建议放弃


nutch选备计算机环境:

      1、最好是3台或以上机器集群,nutch2.0可以使用hadoop、hbase分布式存储和数据库,以及solr cloud的索引和检索,因此有条件可以使用完整的分布式环境

      2、没有条件的话,单机使用伪分布模式,也是可以的

nutch 2.3.1建议使用的依赖组建版本:


nutch必备技术:

    1、ant、ivy使用

         nutch2.0之后不提供编译完成的文件压缩包,所以我们需要自己下载nutch的源码,使用ant、ivy进行构建,生成bin可执行包,使用命令:ant package-bin即可。其他的需求看build.xml文件。

        补充:

        1)nutch源码如果还不会下载,那建议你暂时搁置nutch的学习,先把英语和信息搜集能力锻炼下

        2)linux的基本使用,常用命令行,如果linux的基本使用,命令行,基本原理之类的都搞不清楚,后来的shell都会很吃力

        3)linux下ant的安装,使用,ant安装完成后,使用命令:ant package-bin即可生成apache-nutch-2.3.1-bin,即为nutch的可执行文件、文件夹

        4)翻墙能力,因为ant构建需要下载很多jar包,不翻墙下载不下来,会出现很多错误,可以翻墙的话,ant构建没有出现其他文章中描述的各种ant构建错误。

   2、shell

        nutch提供两个脚本,crawl和nutch,crawl用于爬取数据并存储到数据库,并且更新solr索引,nutch提供更加丰富的功能,如执行单元测试等。分析crawl脚本,发现其中依次调用的是nutch中的inject、generate、fetch、parse、updatedb、index、solrdedup。

       熟悉shell有助于我们了解crawl和nutch脚本执行的过程,最终调用时的java参数,classpath,可以庖丁解牛式的了解nutch运行原理。

   3、gora

       nutch存储数据使用的持久化框架是gora。何为持久化框架,熟悉J2EE的同学应该知道Hibernate。我们知道到数据库有很多种类,SQL和NoSQL,SQL有MySQL、SQLServer、Oracl,NoSQL有Hbase、mogondb等等,持久化框架作用是提供一个统一ORM,将数据持久化存储到不同的数据库中。Gora正是为了NoSQL中大数据的存储应运而生。

    4、hadoop

       笔者使用的hbase作为数据库,hbase的运行依赖hadoop,因此需要学习和使用hadoop,包括hadoop的基本原理、安装部署、运行。

   5、hbase等NoSQL数据库

       hbase的原理,部署、运行、使用、存储方式。

   6、solr cloud

       nutch2.0以后使用solr作为索引和检索系统,solr可以将爬到的数据建立索引,进行检索。

       solr cloud是solr的分布式集群。

  7、tomcat

       nutch使用tomcat作为web 服务器。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值