首页 > 代码库 > nutch学习笔记(一)入门篇

nutch学习笔记(一)入门篇

简介

  nutch是一个用java实现的网络爬虫,但却不仅仅是一个爬虫。它还囊括了网页分析,索引,搜索等功能,所白了,可以当做一个搜索引擎来用。nutch的意义在于,为普通开发人员提供了一扇研究搜索引擎的窗户,让搜索引擎不再神秘。而且,由于nutch的不断发展,对性能以及并行批处理的要求不断提供,hadoop诞生了。

 

安装(64位linux下):

环境准备

既然nutch是由java实现的,那么java就必须事先安装好。步骤如下:

下载jdk:jdk-xxx-linux-x64.tar.gz

解压到你想解压的目录下,如/usr/java

设置环境变量

vi /etc/profile

shift+g切到文件最末尾

插入以下语句:

JAVA_HOME=/usr/java/jdkxxx

CLASSPATH=.:/usr/java/jdk1.7.0_25/lib/dt.jar:/usr/java/jdk1.7.0_25/lib/tools.jar

PATH = $PATH:$JAVA_HOME/bin

export JAVA_HOME

export CLASSPATH

export PATH

 

1. 从二进制包中安装。

下载bin包,如:apache-nutch-1.x-bin.tar.gz

拷贝到你想安装的目录下,如: /usr/nutch/

解压该tar包:tar xzvf apache-xxxx

到此安装完成

 

2. 从源码编译安装。

下载apache-ant-xxx-bin.tar.gz

解压该tar包到/usr/ant目录

设置环境变量

(1). vi /etc/profile

(2). shift+g切换至文件末尾

(3). 插入ANT_HOME = /usr/ant/apache-ant-xxx

    PATH = $PATH:$ANT_HOME/bin

    export ANT_HOME

    export PATH

(4). wq保存退出

(5). source /etc/profile

(6). 终端重新登入

至此,编译工具ant就算安装完成,接下来就是编译安装nutch

下载nutch源码包apache-nutch-2.xx-src.tar.gz

解压到你想要的目录下,如/usr/nutch

输入命令: cd /usr/nutch/apache-nutch-2xx

输入命令: ant进行编译

等待一段时间(有点长,我在2g的虚拟机上编译了有30min),编译后,会在当前目录下生成一个runtime的目录,里面有编译好的可执行文件,jar包等等。

 

注:以下用$NUTCH_HOME代指nutch的安装根目录,如/usr/nutch/apache-nutch-2xx

 

简易爬取网页指南

1. 配置nutch-site.xml(在$NUTCH_HOME/conf/目录下)

  添加这么一段配置:

?
1
2
3
4
<property>
    <name>http.agent.name</name>
    <value>My Nutch Spider</value>
</property>

  以上配置设定了nutch在爬取网页时http消息头部中User-Agent字段。

 

2. 建立一个目录,向目录中的文件里添加需要爬取的页面url(即种子seed)

mkdir -p urls

cd urls

touch first_url.txt

编辑first_url.txt,一行一个url即可,比如:

www.sina.com.cn

www.sohu.com.cn

...

 

3. 开始爬取crawl

$NUTCH_HOME/bin/nutch crawl urls -dir first_crawl -depth 2 -topN 5

如果初始化成功,在$NUTCH_HOME目录下会生成这几个目录:

first_crawl/crawldb

first_crawl/linkdb

first_crawl/segments