Nutch教程——准备篇 by 逼格DATA

实在是看不下去Nutch官方的坑爹教程了,总结一套看完能懂的Nutch教程,持续更新中。


开发环境和基础:

学习Nutch,必须满足以下几个条件,缺一不可:

1)Linux环境,实在是没办法就在Windows上装Linux虚拟机。

2)熟悉JAVA。

3)有hadoop基础,能够编写hadoop下map reduce程序。

4)能够看懂Linux Shell。


下面来解释以下为什么需要满足这些条件。Nutch是在hadoop上运行的,windows下跑hadoop有一定的问题。并且Nutch中流程的控制使用的是Linux Shell,在windows上实现也比较麻烦。如果看不懂Linux Shell,就看不懂Nutch的流程。Nutch被切分成几个流程,每个流程都由Map Reduce完成,如果没有Map Reduce编程的基础,就看不懂Nutch源码。


源码阅读:

千万不要拿Nutch源码作为爬虫入门的教程。在学习Nutch之前最好先找一个单机爬虫熟悉爬虫的流程和基础。如果连Http请求、网页信息抽取这些最基础的技术细节都搞不清楚,阅读Nutch源码是没有用的,虽然说Nutch的http请求、网页解析是通过插件来完成的,但是我可以告诉你,如果你对Nutch的工作流程不是非常了解,是写不了Nutch插件的,哪怕是最简单的插件,所以不要想通过阅读Nutch插件的方法,来学习怎么发送http请求这种基础。更重要的是,在阅读Nutch源码之前,一定要了解爬虫的流程。Nutch中每个流程的输入输出都存放在hadoop文件中,文件是SequenceFIle,直接无法正确阅读文件的内容,如果想通过观察SequenceFile来了解爬虫的流程,是比较困难的。JAVA开源的单机爬虫有很多种,和Nutch流程最相似的是WebCollector。WebCollector和Nutch一样,都是将完整广度遍历切分成一层一层的爬取(每一层对应树的一层),有相同的链接存储、更新机制,采用相同的线程池,可以通过阅读WebCollector的源码来作为学习Nutch的基础。


分布式:

写Nutch代码不需要分布式知识,用Map Reduce框架写代码&
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值