目前Nutch采用Sehll的启动方式,如果您使用的是Windows系统,那么首先需要安装Cygwin。本文就以在Windows中为例,介绍Nutch的安装和使用方法。

(1)准备需要的软件列表

  • Cygwin     (下载地址:http://www.cygwin.com/setup.exe)
  • Jdk(1.4.2以上版本,下载地址http://java.sun.com/javase/downloads/index.jsp)
  • Nutch(推荐使用0.9版本,下载地址http://www.apache.org/dyn/closer.cgi/lucene/nutch/)
  • Tomcat(下载地址http://tomcat.apache.org/)

(2) 安装软件

1)  Cygwin 打开安装程序Cygwin.exe后,在"Choose Installation Type"页选择 "Install from Internet"(如果你已经把全部安装包下载到本地,就可以选择"Install from local directory"选项)。然后点击"Next".

然后选择安装目录,其他可保持默认选项,点击"Next".

选择保存安装包的本地目录,点击"Next".

选择下载连接的类型,点击Next。

然后通过服务器先下在需要安装的包列表,默认全部安装,并且选择可以使用的下载镜像地址(速度不一样,如果下载速度太慢可以换别的:) )

请耐心等待,安装程序会自动下载和安装程序包,并且保存程序包在设定的目录,这样下次安装就不必重新下载了。我安装时大约用了3分钟,下载网速大约80Kbs/s。

完成安装。

2) 安装JDK,这个就不用介绍了,注意安装完成后需要在Windows的环境变量中加入JAVA_HOME=你的jdk的安装目录

3) 安装Tomcat,这个就不用多说了吧。

4)把Nutch解压到本地目录,例如D:/nutch。这时候启动Cygwin程序,Cygwin程序会启动一个模拟Unix/Linux的终端窗口, 然后使用方式就和Unix的Shell一样了,Cygwin的根目录是/cygdriver,这个目录相当于Windows的“我的电脑”,然后进入 Nutch的目录,例如:cd /cygdriver/d/nutch,然后运行bin/nutch命令,如果出现下面的Usage 信息,这样Nutch就安装完成了,非常简单。

Usage: nutch COMMAND
     where COMMAND is one of:
         crawl one-step crawler for intranets
         readdb read / dump crawl db
         mergedb merge crawldb-s, with optional filtering
         readlinkdb read / dump link db
         inject inject new urls into the database
         generate generate new segments to fetch
         fetch fetch a segment's pages
         parse parse a segment's pages
         readseg read / dump segment data
         mergesegs merge several segments, with optional filtering and slicing
         updatedb update crawl db from segments after fetching
         invertlinks create a linkdb from parsed segments
         mergelinkdb merge linkdb-s, with optional filtering
         index run the indexer on parsed segments and linkdb
         merge merge several segment indexes
         dedup remove duplicates from a set of segment indexes
         plugin load a plugin and run one of its classes main()
         server run a search server
     or
         CLASSNAME run the class named CLASSNAME
     Most commands print help when invoked w/o parameters.

(3)开始使用Nutch

下面用一个简单的例子说明Nutch的使用方法

1) 添加需要爬行的内部网地址信息。

新建一个目录,写入一些网址信息,例如我们需要爬行csdn的内部网。

mkdir urls

echo http://www.csdn.com/ >urls/csdn

2) 然后修改 conf目录下的crawl-urlfilter.txt文件,这个文件中的正则表达式定义了那些文件可以被Nutch爬行,那些不可以被爬 行。其中以“+”号开头的表示属于Nuch合法的Url连接,“-”号开头相反。我们需要修改文件中的

# accept hosts in MY.DOMAIN.NAME
           +^http://([a-z0-9]*/.)*MY.DOMAIN.NAME/

# accept hosts in MY.DOMAIN.NAME
        +^http://([a-z0-9]*/.)*csdn.com/

3)接下来我们需要配置conf/nutch-site.xml,这个需要填写相关的代理属性,应为Nutch也许要准受Robot协议,在爬行人家网站的时候,把相关的信息提交给被爬行的网站。

我们在这个文件中,需要在<configuration>和</configuration>之间,加入是个代理属性,例如http.agent.name属性

<property>

<name>http.agent.name</name>

<value>csdn.com</value>

<description>csdn.com</description>

</property>

其中除了name字段需要准确添写外,其他value和descrption字段可或添写。

同样,还需要加入http.agent.description,http.agent.url和http.agent.email这三个属性。

4)这样就完成了全部爬行所需要的配置,下面就可以用nutch的crawl命令来派性企业内部网了

再nutch目录中输入:

bin/nutch crawl urls -dir csdn -threads 4 -depth 2 -topN 30

这样nutch就启动并且开始爬行任务了,由于是简单示例,所以以上这个命令很快就结束了,因为爬行的广度和深度都非常小,也就是说,示例只爬行了csdn网站的很小一部分网页。

下面就上面命令的参数进行说明:

Crawl命令的使用说明为: crawl <url dir> [-dir index] [-threads num] [-depth num] [-topN num]

其中:

urls是存放需要爬行网址的文件夹目录。

-dir选项是抓取的页面的存放目录。

-threads选项是启动的最大线程数。

-depth选项是能爬行的最大深度,也就是最多爬行到第几级的页面,也叫爬行深度。

-topN选项是在每层深度上,所能爬行的最多页面数,也称爬行广度。

完成爬行后,会在-dir选项所指定的目录中保存网页信息和搜索需要的索引。

Nutch使用方法简介相关推荐

  1. 【机器学习入门到精通系列】蒙特卡罗方法简介和代码演示

    文章目录 1 蒙特卡罗方法简介 2 求圆周率pi的近似值 3 求定积分的近似值 1 蒙特卡罗方法简介 蒙特卡罗(Monte Carlo)方法:简单来说,蒙特卡洛的基本原理简单描述是先大量模拟,然后计算 ...

  2. 【Groovy】编译时元编程 ( ASTTransformation#visit 方法简介 | org.codehaus.groovy.ast.ModuleNode 脚本节点 )

    文章目录 一.ASTTransformation#visit 方法简介 二.org.codehaus.groovy.ast.ModuleNode 脚本节点 一.ASTTransformation#vi ...

  3. 【Android 异步操作】AsyncTask 异步任务 ( 参数简介 | 方法简介 | 使用方法 | AsyncTask 源码分析 )

    文章目录 一.AsyncTask 参数简介 二.AsyncTask 方法简介 三.AsyncTask 基本用法 四.AsyncTask 构造函数源码解析 五.AsyncTask 构造函数相关源码注释 ...

  4. UA PHYS515A 电磁理论III 静磁学问题2 标量势方法与向量势方法简介

    UA PHYS515A 电磁理论III 静磁学问题2 标量势方法与向量势方法简介 标量势方法 向量势方法 Hard Ferromagnets 标量势方法 当空间中不存在电流密度时(J⃗=0\vec J ...

  5. 微信门店小程序怎样创建 门店小程序创建方法简介

    微信门店小程序怎样创建 门店小程序创建方法简介 微信门店小程序是什么东西?门店小程序要怎样创建?还不清楚微信门店小程序详情的小伙伴们抓紧时间跟上小编一起来看一下吧!     门店小程序是什么? 微信发 ...

  6. ML之相似度计算:图像数据、字符串数据等计算相似度常用的十种方法简介、代码实现

    ML之相似度计算:图像数据.字符串数据等计算相似度常用的十种方法简介.代码实现 目录 相似度 1.余弦相似性-夹角余弦(Cosine_Distance)距离 2.代码实现-余弦距离.余弦相似度 2.皮 ...

  7. Redis Cluster搭建方法简介22211111

    Redis Cluster搭建方法简介 (2013-05-29 17:08:57) 转载▼ Redis Cluster即Redis的分布式版本,将是Redis继支持Lua脚本之后的又一重磅功能,官方声 ...

  8. html5 filereader读取文件,H5的FileReader分布读取文件应该如何使用以及其方法简介...

    这次给大家带来H5的FileReader分布读取文件应该如何使用以及其方法简介,H5的FileReader分布读取文件的使用以及其方法简介的注意事项有哪些,下面就是实战案例,一起来看一下. 先介绍一下 ...

  9. TabBarController创建及使用方法简介

    TabBarController创建及使用方法简介 大致讲解一下TabBarController的创建过程: 首先,我们需要一些视图,如创建UIControllerView类型的view1,view2 ...

最新文章

  1. 老毛桃u盘启动pe重建mbr图文教程
  2. CODEVS 3288 积木大赛
  3. oracle竖行的两列变成横行_oracle数据竖列转横向显示问题!
  4. centOS6.7 /etc/profile
  5. [翻译]QUIC 与 HTTP/3:太过庞大而致失败?-- 论导致 QUIC 失败的因素
  6. 《四世同堂》金句摘抄(十四)
  7. http://mirrors.aliyuncs.com/centos/7/extras/x86_64/repodata/repomd.xml: [Errno 12] Timeout on http:/
  8. CSDN Markdown编辑器使用教程
  9. Leetcode-Pascal's Triangle
  10. 高考出分,志愿填报成难题
  11. BigDecimal的保留位数和四舍五入的方法
  12. 手把手0基础项目实战(三)——教你开发一套电商平台的安全框架
  13. 最强面试题整理第一弹:Python 基础面试题(附答案)
  14. sl400通过ac无法连接psk加密无线网络
  15. Java实现tiff图片转化为jpg格式
  16. 中学-知识与能力【9】
  17. unity避免相机穿墙
  18. A15.从零开始前后端react+flask - 将前后端联系起来
  19. 服务器系统raid设置,服务器RAID配置详解
  20. 【数模】数据统计中的峰度与偏度

热门文章

  1. 色彩空间DCI XYZ转RGB
  2. 如何检测整数相加溢出
  3. 计算机视觉与深度学习 | 城市拒止环境下的视觉SLAM
  4. Linux C++写日志
  5. 用FTP客户端实现主机和虚拟机之间文件的传输(方法2)
  6. linux关于文件夹的知识,Ubuntu 7.10 系统文件夹相关知识
  7. 交换机短路_你了解交换机的相关知识吗?还不赶快收藏起来
  8. IJCAI 2021 ICAPS 2021自动强化学习挑战赛正式开赛
  9. 从民宅到独栋大厦 我们搬家啦!
  10. Github热榜--《程序员做饭指南》