简介
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 |
|
以上配置设定了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