nutch环境配置在windows系统上(借助Cygwin)
nutch环境配置在windows系统上必须要安装【Cygwin】。cygwin是一个在windows平台上运行的unix模拟环境。
一、安装jdk
Jdk版本为1.6, 下载地址:
http://www.sun.com/download/
安装路径:C:\Program Files\Java\jdk1.6.0_23\(安装路径不做硬性要求,可能由于版本不同路径有所区别,请注意该处)
配置PATH环境变量 ;%JAVA_HOME%\bin;%TOMCAT_HOME%\bin
配置JAVA_HOME环境变量 C:\Program Files\Java\jdk1.6.0_23
配置JAVA_BIN环境变量 C:\Program Files\Java\jdk1.6.0_23\bin
配置CLASSPATH环境变量 %JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar
二、安装Tomcat
版本为5.0 (一定要用Tomcat5.0,如果注意下载了Tomcat6.0,会导致运行时的一些不知名的异常:例如 “Attribute value details.getValue("url") is quoted with " which must be escaped when used within the value)
下载地址:
http://tomcat.apache.org/
设置TOMCAT_HOME环境变量 c:\tomcat
3.安装Cygwin.(在windows模拟linux环境)
下载Cygwin
三、准备windows下的Linux虚拟环境,即"Cygwin"
这里我要对Cygwin 多做点文章,因为我感觉我在配置Nutch个环境时,大部分时间还是花在Cygwin上了。首先他不同于一般的软件,不能直接下载到。只能他的一个类似于 下载器的程序去访问Cygwin在网上的镜像,我想不通为什么非要通过这样方式,也许是因为老更新吧,这样维护方便。
第一步 下载 http://www.cygwin.com/setup.exe 只有几K.但是这才开始下载
他有三种下载方式:
- 从Internet上直接安装,这个据说很费时间。
- 下载但不安装。 (推荐这样方法)
- 从本地安装。
下载完成后在运行 setup.exe
选择 【从本地安装】,点击下一步
不用改变直接点击下一步就可以(这个是cygwin要安装到哪里)
选择你在上面下载是制定的cygwin目录点击下一步开始安装。
安装完成后可以单击桌面上的【Cygwin】快捷方程式进行启动,启动后界面如下:
经过上面的过程,Cygwin就安装完成了,待用。
Nutch下载及配置
Nutch下载地址:
http://apache.etoak.com//nutch/
http://apache.etoak.com//nutch/apache-nutch-1.2-bin.zip(这里配置使用的是1.2,最新的是1.3)
Nutch配置:
- 解压Nutch到d:\nutch\nutch-1.2
- 在d:\nutch\nutch-1.2 目录下新建文件夹urls 并在其下面建立文件 urls\nutch.txt,并在nutch.txt中写入要抽取的站点地址如: 将要抓取的网站地址输入,比如http://www.my400800.cn/(注意最后的/一定要有)
- 打开conf\crawl-urlfilter.txt文件,将
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/
改为
# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*my400800.cn/(这里也要有/呦) - 打开nutch/conf/nutch-site.xml文件,修改<configuration></configuration>为:
<configuration>
<property>
<name>http.agent.name</name>
<value>HD nutch agent</value>
</property>
<property>
<name>http.agent.version</name>
<value>1.2</value>
</property>
</configuration> - 开始爬(从上面启动的【Cygwin dos窗口输入如下命令】)
/cygdrive/d/nutch/nutch-1.2/bin/nutch crawl -dir localdownweb -depth 1 -threads 1 topN 10 urls>&/crygdrive/d/nutch/nutch-1.2/logs/log1.log
crawl:通知nutch.jar,执行crawl的main方法。
urls:存放需要爬行的url.txt文件的目录
-dir sina 爬行后文件保存的位置
-depth 2:爬行次数,或者成为深度,不过还是觉得次数更贴切,建议测试时改为1。
-threads 指定并发的进程 这是设定为 4
-topN :一个网站保存的最大页面数。
会出现如下错误
在上面的目录建立[urls]目录,在目录里面建立 【nutch.txt】,内容为:想抓取的url地址,格式为:http://www.my400800.cn/(后面的反斜杠不要忘记呀)
再次运行上面的命令出现如下窗口,启动成功。