Nutch是一个基于Lucene的搜索引擎应用.
一.准备工作
1.下载最新版的nutch-0.9(下载地址:http://lucene.apache.org/nutch/)放到d盘的d: nutch目录下
2.添加环境变量NUTCH_JAVA_HOME=jdk的安装路径
3.nutch需要在unix下跑,如果要装在windows上,需要安装cygwin(下载地址: http://www.cygwin.com/setup.exe)
二.爬取数据
运行cygwin
cd d:nutch
cd nutch-0.9
cygwin所示的当前目录为:/cygdrive/d/nutch/nutch-0.9
在此目录下执行命令:bin/nutch,如果正确的话,会有Usage:nutch COMMAND提示
在根目录下新建urls文件夹,在此文件夹下建文本文件nutch.txt,
其中的内容为:http://lucene.apache.org/nutch/
修改conf/crawl-urlfilter.txt,找到MY.DOMAIN.NAME,修改为:
+^http://([a-z0-9]*\.)*apache.org/
修改nutch-default.xml
设置http.agent.name,http.robots.agents, http.agent.description, http.agent.url, http.agent.email, http.agent.version的值,
http.agent.name不能为空
例如:
<name>http.agent.name</name>
<value>aaa</value>
<name>http.robots.agents</name>
<value>*</value>
<name>http.agent.description</name>
<value>Nutch</value>
<name>http.agent.url</name>
<value>http://lucene.apache.org/nutch/</value>
<name>http.agent.email</name>
<value>callan@126.com</value>
修改完成后运行 bin/nutch crawl urls -dir crawl -depth 3 -topN 50
depth 参数指爬行的深度
运行完成后,在根目录上会生成crawl文件夹
crawled中包含有segment, linkdb, indexed, index, crawldb文件夹
crawdb,linkdb是web link目录,存放url 及url的互联关系,作为爬行与重新爬行的依据,页面默认30天过期。
segments 是主目录,存放抓回来的网页.页面内容有bytes[]的raw content 和 parsed text的形式.nutch以广度优先的原则来爬行,因此每爬完一轮会生成一个segment目录
index 是lucene的索引目录,是indexs里所有index合并后的完整索引,注意索引文件只对页面内容进行索引,没有进行存储,因此查询时要去访问segments目录才能获得页面内容。
Luke(http://www.getopt.org/luke)是一个索引阅读工具
三.运行
将nutch-0.9.war拷到tomcat的webapps目录下,解压,
进入webapps\nutch\WEB-INF\classes目录,将nutch-default.xml的search.dir设置为D:\nutch\nutch-0.9\crawl
运行tomcat
一.准备工作
1.下载最新版的nutch-0.9(下载地址:http://lucene.apache.org/nutch/)放到d盘的d: nutch目录下
2.添加环境变量NUTCH_JAVA_HOME=jdk的安装路径
3.nutch需要在unix下跑,如果要装在windows上,需要安装cygwin(下载地址: http://www.cygwin.com/setup.exe)
二.爬取数据
运行cygwin
cd d:nutch
cd nutch-0.9
cygwin所示的当前目录为:/cygdrive/d/nutch/nutch-0.9
在此目录下执行命令:bin/nutch,如果正确的话,会有Usage:nutch COMMAND提示
在根目录下新建urls文件夹,在此文件夹下建文本文件nutch.txt,
其中的内容为:http://lucene.apache.org/nutch/
修改conf/crawl-urlfilter.txt,找到MY.DOMAIN.NAME,修改为:
+^http://([a-z0-9]*\.)*apache.org/
修改nutch-default.xml
设置http.agent.name,http.robots.agents, http.agent.description, http.agent.url, http.agent.email, http.agent.version的值,
http.agent.name不能为空
例如:
<name>http.agent.name</name>
<value>aaa</value>
<name>http.robots.agents</name>
<value>*</value>
<name>http.agent.description</name>
<value>Nutch</value>
<name>http.agent.url</name>
<value>http://lucene.apache.org/nutch/</value>
<name>http.agent.email</name>
<value>callan@126.com</value>
修改完成后运行 bin/nutch crawl urls -dir crawl -depth 3 -topN 50
depth 参数指爬行的深度
运行完成后,在根目录上会生成crawl文件夹
crawled中包含有segment, linkdb, indexed, index, crawldb文件夹
crawdb,linkdb是web link目录,存放url 及url的互联关系,作为爬行与重新爬行的依据,页面默认30天过期。
segments 是主目录,存放抓回来的网页.页面内容有bytes[]的raw content 和 parsed text的形式.nutch以广度优先的原则来爬行,因此每爬完一轮会生成一个segment目录
index 是lucene的索引目录,是indexs里所有index合并后的完整索引,注意索引文件只对页面内容进行索引,没有进行存储,因此查询时要去访问segments目录才能获得页面内容。
Luke(http://www.getopt.org/luke)是一个索引阅读工具
三.运行
将nutch-0.9.war拷到tomcat的webapps目录下,解压,
进入webapps\nutch\WEB-INF\classes目录,将nutch-default.xml的search.dir设置为D:\nutch\nutch-0.9\crawl
运行tomcat