- 论坛徽章:
- 0
|
下载:
可以去Apache的官方网页
http://www.apache.org/dyn/closer.cgi/lucene/nutch/
下载最新版的Nutch,目前最新版是nutch-0.9,65M大小。
解压缩进入bin/就能用
安装辅助软件(运行环境):
Nutch是用java写的一个开源项目,所以要使它正常运行必须安装JDK(也为了能修改nutch),Java 1.4.x以上版本,设置环境变量NUTCH_JAVA_HOME为java虚拟机的安装目录。
此外,还必须安装Apache's Tomcat 4.x 以上版本。
最后,想得到较好的运行效果,必须有至少1G的剩余空间和一个网速较快的网络。
抓取前的准备工作
输入需要抓取的网站地址
在Nutch的安装目录中建立一个名为myurl的文本文件,文件中写入要抓取网站的顶级网址,即要抓取的起始页。
以我要抓取的网页为例,输入:
http://www.sdau.edu.cn/
注意:最后一个“/”和conf/crawl-urlfilter.txt中的内容统一。
更改配置文件 crawl-urlfilter.txt
编辑conf/crawl-urlfilter.txt文件,修改MY.DOMAIN.NAME部分,把它替换为你想要抓取的域名(地址),即把
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
修改为:
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*sdau.edu.cn /
运行 crawl命令抓取网站内容
运行的命令
·-dir dirnames 设置保存所抓取网页的目录.
·-depth depth
表明抓取网页的层次深度
·-delay delay
表明访问不同主机的延时,单位为“秒”
·-threads threads 表明需要启动的线程数
实际使用
改变当前工作区为nutch安装目录,运行以下命令行:
bin/nutch crawl myurl -dir mydir -depth 2 -threads 4 >&logs/logs1.log
在上述命令的参数中,myurl 就是刚才我们创建的那个文件,存放我们要抓取的网址,dir指定抓取内容所存放的目录,depth表示以要抓取网站顶级网址为起点的爬行深度, threads指定并发的线程数。最后的logs/logs1.log表示把显示的内容保存在文件logs1.log中,以便分析程序的运行情况。
可能发生的错误:
1. 如果mydir在运行前已存在,则运行时将报错:mydir already exist。建议先删除这个目录,或者指定其他的目录存放抓取的网页。
修改 conf/nutch-site.xml
http.agent.name
HD nutch agent
http.agent.version
1.0
如果没有配置此agent,爬取时会出现 Agent name not configured! 的错误。
四.在Tomcat中运行查看结果(在Windows下部署成功,但是在LInux下总是出错)
如果已经抓取成功,则可以在Tomcat上部署了
复制nutch.0.9.war到tomcat目录/webapps
修改/webapps/nutch/WEB-INF/classes/nutch-site.xml :
将
换成
searcher.dir
Your_crawl_dir_path
Your_crawl_dir_path指刚才抓取网页时网页保存的文件夹,比如我的就是:/usr/locla/mutch-0.9/bin/mydir
最后在浏览器中输入
http://localhost:8080/mutch-0.9
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/50183/showart_405331.html |
|