Nutch安装.docx
- 文档编号:6307332
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:10
- 大小:849.86KB
Nutch安装.docx
《Nutch安装.docx》由会员分享,可在线阅读,更多相关《Nutch安装.docx(10页珍藏版)》请在冰豆网上搜索。
Nutch安装
一、题目
1.Nutch安装与测试
二、目的与要求
1.在自己的计算机上下载/编译/配置/运行Nutch
2.提交简单的测试与评估报告(提交Word/PDF文档)
3.报告最后一节:
思考并尝试回答如何构建定向/专题爬虫系统
三、原理
1.Nutch
Nutch是一个由Java实现的,刚刚诞生开放源代码(open-source)的web搜索引擎。
相对于那些商用的搜索引擎,Nutch作为开放源代码搜索引擎将会更加透明,从而更值得大家信赖。
它提供了我们运行自己的搜索引擎所需的全部工具。
2.Nutch的组成
Nutch主要分为两个部分:
爬虫crawler和查询searcher。
Crawler主要用于从网络上抓取网页并为这些网页建立索引。
Searcher主要利用这些索引检索用户的查找关键词来产生查找结果。
两者之间的接口是索引,所以除去索引部分,两者之间的耦合度很低。
Crawler和Searcher两部分尽量分开的目的主要是为了使两部分可以分布式配置在硬件平台上,例如将Crawler和Searcher分别放在两个主机上,这样可以提升性能。
3.Nutch的工作流程
1.建立初始URL集
2.将URL集注入crawldb数据库---inject
3.根据crawldb数据库创建抓取列表---generate
4.执行抓取,获取网页信息---fetch
5.更新数据库,把获取到的页面信息存入数据库中---updatedb
6.重复进行3~5的步骤,直到预先设定的抓取深度。
---这个循环过程被称为“产生/抓取/更新”循环
7.根据sengments的内容更新linkdb数据库---invertlinks
8.建立索引---index
9.用户通过用户接口进行查询操作
10.将用户查询转化为lucene查询
11.返回结果
其中,1~6属于爬虫部分;7、8属于索引部分;9~11属于查询部分。
四、设计方案
1.Nutch的安装与配置(Windows7)
2.在eclipse中导入Nutch
3.配置并运行Nutch中的Crawl抓取网页并保存
4.将Nutch部署在Tomcat中,对Nutch检索地址进行配置
5.检索Crawl抓取的页面信息
五、过程与结果
1.Nutch的安装与配置(Windows7)
a)安装环境:
Windows7
所安装软件:
jdk6.0+:
Cygwin:
nutch-1.2:
http:
//lucene.apache.org/nutch
tomcat5.0+:
http:
//tomcat.apache.org/
b)JDK的配置(略)
c)Cygwin的配置
⏹下载cgywin.exe
⏹运行安装
⏹配置环境变量Path
设置cygwin的环境变量like安装路径:
\cygwin\bin
d)Nutch的安装
在http:
//lucene.apache.org/nutch下载Nutch的应用程序以及源代码,分别是
以及
,并解压到任意路径。
如:
D:
\ProgramFiles\JAVAEEDevelopTools\nutch-1.2
D:
\ProgramFiles\JAVAEEDevelopTools\apache-nutch-1.2
e)tomcat5.0的安装(略)
2.在eclipse中导入Nutch
a)在eclipse中新建立一个JavaProject,名字自己定义(NutchTest),点击完成。
b)将
解压后的nutct-1.2目录下的\src\java\中的代码全部复制到新建工程中的src下。
c)将解压后的nutch-1.2目录下的lib、plugins、conf三个文件夹复制到新建工程的根目录下(与src同级)
d)右键工程properties,切换到"Libraries"选择"AddClassFolder..."按钮,从列表中选择"conf"。
将conf加入到classpath中。
e)右键工程properties,切换到"Libraries"选择"AddExternalJARs"按钮,将lib文件夹中的所有jar加入到工程中。
3.配置并运行Nutch中的Crawl抓取网页并保存
a)修改配置文件
conf/nutch-site.xml
在文件中找到http.agent.name,给你的Spider命名,即在
conf/nutch-default.xml
在文件中找到plugin.folders,在
conf/crawl-urlfilter.txt
在文件中找到MY.DOMAIN.NAME,写入想抓取的网站正则表达式,例如:
+^http:
//([a-z0-9]*\.)*
b)在工程的根目录下建立urls文件夹,其中新建一个url.txt文件,该文件中写入想抓取的网站URL,如:
c)配置运行参数
先打开org.apache.nutch.crawl中的Crawl.java,并运行,在控制台会出现如下提示:
右键org.apache.nutch.crawl中的Crawl.java,选择runas-》runconfiguration:
在arguments选项卡中填入图示内容:
注:
Programarguments指定了传入的参数:
urls就是你之前建立的文件夹
-dircrawl就是创建crawl文件夹来存储抓取的数据
-depth5就是抓取的深度
-threads4就是执行的线程数
-topN10就是每层抓取数目
VMarguments指定了运行所需的内存参数,可以防止内存溢出
d)运行Crawl
正确运行后,在项目的根目录会出现如下所示结果:
4.将Nutch部署在Tomcat中,对Nutch检索地址进行配置
a)安装WAR文件
把nutch-1.2文件夹下的nutch-1.2.war拷到tomcat的webapps文件下
b)运行tomcat
打开tomcat目录下的bin,运行startup.bat,nutch-1.2.war会自动被解压成同名的nutch-1.2文件夹,运行完成后,打开浏览器,键入:
http:
//localhost:
8080/nutch,出现如下界面表示运行成功。
c)搜索服务程序指定数据文件的位置
打开文件
$tomcat$/webapps/nutch/WEB-INF/classes/nutch-site.xml,添加searcher.dir属性,例如数据文件保存在H:
/Workspace_Folder/Python_WorkSpace/NutchTest/crawl目录中,则添加:
/Workspace_Folder/Python_WorkSpace/NutchTest/crawl
这样search.jsp就知道数据文件的在哪里了。
d)测试搜索结果
重新启动tomcat,在搜索栏中输入:
网易,运行结果如下所示
六、总结
通过这次作业,我对Nutch有了更深的了解,在完成作业的过程当中,也尝试了一些作业中未涉及的内容,比如对Nutch的搜索结果进行对比测试,并Nutch在中文分词中所采用的分词算法进行了一定的了解等。
在编码过程当中也碰到许许多多的问题,特别是环境的配置以及在eclipse中导入源代码并配置运行等问题。
七、思考——如何构建定向/专题爬虫系统
对于定向/专题爬虫系统,我认为它与普通爬虫系统的区别在于它要对页面的内容以及超链接的相关程度进行判断。
因此,我认为,对于一个定向/专题爬虫系统而言,需要在普通的爬虫系统的基础上,增加一些模块:
1)定向/专题词库
该词库包含了某一定向/专题的专业词汇,用来对页面的内容以及超链接内容进行判断。
2)主题相关分析器
该分析器的作用是:
基于定向/专题词库,对页面的内容进行分析,以得出内容的相关度。
可以采用文本信息检索和挖掘技术来实现。
3)URL排序模块
该模块的作用是:
通过主题相关分析器计算出页面中内容的相关度以及页面中url内容的相关度,来决定URL的访问次序。
通过该优先级,使得爬虫总是先去爬取最相关的页面,这样不仅能提高爬虫的效率,也能够提高所爬取页面内容的质量。
4)自动校验模块
该模块的作用是对爬虫的状态进行监控,计算爬取页面的速率、爬取页面相关度、是否重复爬取、坏的链接等一系列爬虫的相关数据,以得出爬虫的状态,再通过一系列规则对爬虫的状态进行调整,使爬虫保持一个良好的搜索状态。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Nutch 安装
![提示](https://static.bdocx.com/images/bang_tan.gif)