Windows下安装Nutch

Nutch安装
一、需求部份
a) Nutch是Java开发的所以需要下载Java JDK
下载地址http://java.sun.com/javase/downloads/index.jsp
b) Nutch的演示搜索页面是Jsp的需要Tomcat做服务器
下载地址:http://jakarta.apache.org/tomcat/
c) Nutch的脚本都是用Linux的Shell写的,所以在Windows平台需要一个Shell解释程序。Cygwin是一个在Windows下的模拟Linux系统程序。(注Linux下不需要下载此程序)
下载地址:http://www.cygwin.com/
d) Nutch下载地址:http://lucene.apache.org/nutch/
e) 建议安装UltraEdit文字编辑器。

二、安装步骤
a)Java JDK安装
安装目录不要出现中文,安装完成后设置环境变量,win7下设置环境变量和XP不同,在系统变量或者用户变量都行。
变量名JAVA_HOME
变量值 D:\Java\jdk(此处根据安装目录决定)
变量名 PATH
变量值 %JAVA_HOME%\bin;%Path%(“%变量名%”表示前面已有的变量)
变量名 CLASSPATH
变量值 .;%JAVA_HOME%\lib;%CATALINA_HOME%\lib(前面的“.”不能省,后面这是tomcat的需要)
变量安装完成后,在运行里输入“cmd”打开命令行,分别输入“java”,”javac”,”java –version”若显示具体信息而没有报错,则安装成功,如下图

b)tomcat安装
Tomcat解压缩在没有中文的目录下,设置环境变量
变量名 CATALINA_HOME
变量值 D:\bishe\apache-tomcat-7.0.6(具体的安装路径)
变量CLASSPATH的编辑前面已经完成,就不再需要。
运行CMD 进入此目录下运行catalina.bat run
Tomcat的运行和停止的文件分别是startup.bat和shutdown.bat。

c)Cygwin安装
运行安装程序后出现如下图:
之后一直选择下一步就好了,root directory为安装路径,local package directory为安装文件所在路径(也是setup.exe所在路径)。完成后在桌面会出现,此为cygwin目录下的cygwin.bat的快捷方式。

d)natch安装
下载完成后解压在没有中文的路径下。设置环境变量
变量名 NUTCH_JAVA_HOME
变量值 %JAVA_HOME%
运行cygwin,输入命令cd /cygdrive/d/bishe/nutch-1.2,再输入bin/nutch如图则nutch安装成功。

三、配置步骤
a)在nutch目录下建立urls目录,在目录中建立txt文件,文件名任意,用来设置搜索站点的起始位置,如:http://www.ustc.edu.cn/。
b)修改网址过滤规则conf/crawl-urlfilter.txt文件,把里面的MY.DOMAIN.NAME修改为你的抓取的URL。eg:
+^http://([a-z0-9]*.)*ustc.edu.cn/这里设置为只抓取以edu.cn结尾的URL。

c) 修改conf/nutch-site.xml代理信息,在和之间添加如下文件:

http.agent.name
ubuntuer(此处ubuntu是一个自定义的值,有说是可以为空,
有说是要设置一个单词,我是设置了一个词)


http.agent.description
ubuntuer



http.agent.url




http.agent.email
iptabler@gmail.com


d)执行nutch抓取url数据
在Cygwin命令行窗口中输入:cd /cygdrive/d/nutch-1.2
再输入bin/nutch crawl urls –dir crawl –depth 3 –threads 4 –topN 30 >& crawl.log
注意在,命令行窗口中输入命令的空格!!命令说明:
crawl 是nutch检索数据命令,后面跟上要检索的URL文件。urls就是a)部份创建的文件
-dir是检索后的结果存放目录参数,后面跟上结果存放地址。如果我们存放到nutch目录下的crawl目录,注意此目录当前是不存在的。检索完后nutch会创建出来。-threads 抓取时的线程数参数
-depth 抓取时的深度参数
-topN 抓取时每页的最大抓取链接
最后把执行信息写入crawl.log日志文件中,方便查找错误。
e)配置tomcat
把nutch-1.2.war复制到Tomcat下的webapps里,启动Tomcat,会自动deploy。再关闭Tomcat,到webapps\nutch-1.2目录下的WEB-INF\classes里的nutch-site.xml里,增加搜索的目录:

searcher.dir
D:\bishe\nutch-1.2\crawl(此处为检索存放的地址)

为了支持中文,在tomcat\conf的server.xml里的 里面,增加URIEncoding=“UTF-8” useBodyEncodingForURI="true"配置,最后如:
,每一项都用空格隔开。重启Tomcat,可以通过http://localhost:8080/nutch-1.2访问到Nutch了。
四、搜索结果

至此Nutch的安装基本完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/332214.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python子进程关闭fd_gpg –passphrase-fd无法使用python 3子进程

以下脚本encrypt_me.py(modified from another post)使用gpg加密自身并以装甲形式打印出密文.但它只适用于python2.7但不适用于python3?你知道它在python3上运行时有什么问题吗?import subprocessimport shleximport osimport sysin_fd, out_fd os.pipe…

程序编码(机器级代码+汇编代码+C代码+反汇编)

【-1】相关声明 本文总结于csapp; 了解详情,或有兴趣,建议看原版书籍;【0】程序编码 GCC调用了一系列程序,将源代码转化成可执行代码的流程如下: (1)C预处理器扩展源代码&#xf…

angular1.2.27_Angular 8 + Spring Boot 2.2:立即构建一个CRUD应用程序!

angular1.2.27“我喜欢编写身份验证和授权代码。” 〜从来没有Java开发人员。 厌倦了一次又一次地建立相同的登录屏幕? 尝试使用Okta API进行托管身份验证,授权和多因素身份验证。 如果您已经成为Java开发人员超过15年,那么您可能还记得何时…

ssm中怎么用location.href跳到controller层_聊聊自动驾驶中的功能开发

在知乎上看过不少大牛写的自动驾驶技术介绍文章,大多谈到的是AI, Deep Learning, Computer Vision等等感知(Perception)层面的。但在各个传感器(雷达、摄像头、激光雷达等)探测到目标信息及周围环境后,车辆该如何做出反应?自动驾驶的大脑该怎…

MyEclipse详细使用教程

第一部分MyEclipse的基本使用 一.提示:MyEclipse的透视图按钮:可以切换不同的透视图(位于右上角) 1.建立一个工程 ----File—new—project—选项含有Javaproject,webproject等等—输入工程名字如myproject&…

控制语句(if-else+循环+switch)汇编规则

【1】说说条件码 最常用的的条件码有: CF:进位标志 (无符号溢出)ZF:零标志SF:符号标志(结果为负数)OF:溢出标志 (补码溢出, 有符号溢出&#xf…

zxing qr区域判断_如何在Java中使用Zxing和JFreeSVG创建QR Code SVG?

zxing qr区域判断在本文中,我们将研究如何使用Zxing QR代码生成库和JFreeSVG库在Java中创建QR Code SVG图像。 QR码生成 下面的代码使用Zxing库创建一个表示QR Code的java.awt.image.BufferedImage对象: public static BufferedImage getQRCode(String …

审批流_怎样让审批工作流和应用数据分离?

在企业行政管理中,审批是最常遇到的场景。传统管理中,人们会有纸张审批,而现在市场上已有大量的线上审批软件,他们帮助企业完成审批电子化,审批速度更快,信息也能留档。然而大部分审批软件都不够灵活&#…

java 反射api_反射是最重要的Java API

java 反射api前几天我在想-这是最重要的Java API。 哪种SE和EE API可以使大多数Java生态系统成为可能,而哪些API不能重新创建为第三方库。 正如您可能已经猜到标题一样,我认为它是Reflection API 。 是的,它不可避免地是每个项目的直接或间接…

前端校验表单项内容是否合规的JS脚本代码

用途:校验ip地址的格式 输入:strIP:ip地址 返回:如果通过验证返回true,否则返回false; */ function isIP(strIP) { if (isNull(strIP)) return false; var re/^(\d).(\d).(\d).(\d)$/g //匹配IP地址的正则表达式 if(r…

过程(栈帧结构是干货)

【0】写在前面 过程(栈帧结构是干货);本文总结于csapp, 加上自己的理解;【1】栈帧结构 每个函数的每次调用,都有它自己独立的一个栈帧,这个栈帧中维持着所需要的各种信息。 过程调用&#xf…

山东小学信息技术课本 python 五年级_山东教育出版社小学信息技术五年级上册教案 全册.doc...

山东教育出版社小学信息技术五年级上册教案 全册电子备课教学案学年度 第一学期学科 信息技术年级 五年级姓名教师个人备课情况统计一览表 项目?精备课二次备课课堂检测课后反思交流平台 篇数月份第( )月第( )月第( )月第( )月备注:为便于自查,此表由教…

apache ranger_Apache Ranger插件的美丽简洁

apache ranger如果您在这里,您已经知道什么是Apache Ranger 。 这是在Hadoop框架中管理安全性的最流行(即使不是唯一)的方法。 它与Active Directory,Kerberos和其他各种身份验证集成在一起,但是我认为最有趣的功能是其…

可重定位目标文件

【0】GCC将源代码转化成可执行代码的流程 (1)C预处理器cpp扩展源代码,插入所有用#include命令指定的文件,并扩展声明的宏;(2)编译器ccl产生两个源代码的汇编代码:*.s;&a…

经典颜色的RGB值

红 RED    品红Magenta(热情)    CMYK:C15 M100 Y20 K0   RGB: R207 G0 B112    洋红Carmine(大胆)   CMYK: C100 M0 Y60 K10   RGB: R215 G0 B64    宝石红Ruby(富贵)   CMYK…

python中for x in range_python教程:对 [lambda x: x*i for i in range(4)] 理解

题目:lst [lambda x: x*i for i in range(4)]res [m(2) for m in lst]print res实际输出:[6, 6, 6, 6]想要输出 [0, 2, 4, 6] 应该怎么改?如下:lst [lambda x, ii: x*i for i in range(4)]res [m(2) for m in lst]print res这…

adf.test_在ADF 12.2.1.3中使用基于JSON的REST Web服务

adf.test以前,我曾发布过有关在ADF中使用基于ADF BC的REST Web服务的信息。 现在,本文讨论使用通用数据控件使用基于JSON的REST Web服务。 您还可以查看有关Web服务的先前文章,以获取更多信息。 在ADF 12.2.1中使用应用程序模块快速创建SOA…

JSON字符串封装成Bean对象/JSON串反序列化成实体类对象/JSON字符串转换成Java对象

文章目录使用阿里巴巴的 JSON使用 ObjectMapperJSON字段与实体类属性不一致首先,我们建立一个实体类,这里简单定义了 name、sex、age 三个属性,以及 get、set、tostring方法。public class Student {private String name;private String sex;…

端到端的地址翻译(虚拟地址是怎样取到相应高速缓存的数据的?)

【0】写在前面-为什么需要虚拟存储器? 0.1)定义:虚拟存储器其实就是借用了磁盘地址空间,还记得当初我们安装CentOS,划分的swap 文件系统吗? 0.2)VM简化了链接和加载、代码和数据共享,以及应用…

python gevent教程_Python的gevent框架的入门教程

Python通过yield提供了对协程的基本支持,但是不完全。而第三方的gevent为Python提供了比较完善的协程支持。gevent是第三方库,通过greenlet实现协程,其基本思想是:当一个greenlet遇到IO操作时,比如访问网络&#xff0c…