Nutch使用方法简介

Nutch使用方法简介Nutch使用方法简介 目前Nutch采用Sehll的启动方式,如果您使用的是Windows系统,那么首先需要安装Cygwin。本文就以在Windows中为例,介绍Nutch的安装和使用方法。 (1)准备需要的软件列表   Cygwin    (下载地址:http://www.cygwin.com/setup.exe)   Jdk(1.4.2以上版本,

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

 Nutch使用方法简介

 

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

 

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

 

(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选项所指定的目录中保存网页信息和搜索需要的索引。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215506.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • archwing任务流程_机器的武器任务流程

    archwing任务流程_机器的武器任务流程有两台机器 A,B 以及 K 个任务。机器 A 有 N 种不同的模式(模式 0∼N−1),机器 B 有 M 种不同的模式(模式 0∼M−1)。两台机器最开始都处于模式 0。每个任务既可以在 A 上执行,也可以在 B 上执行。对于每个任务 i,给定两个整数 a[i] 和 b[i],表示如果该任务在 A 上执行,需要设置模式为 a[i],如果在 B 上执行,需要模式为 b[i]。任务可以以任意顺序被执行,但每台机器转换一次模式就要重启一次。求怎样分配任务并合理安排顺序,能使机器重启次数最少。输入格

    2022年8月10日
  • LAMP配置点滴[通俗易懂]

    LAMP配置点滴[通俗易懂]第一次配编译安装LAMP足足弄了两天,各种折腾。参考http://www.lamphowto.com/,其他的可以看源码的README,或官方文档其中让浏览器自动提示语法错误的方法是改php.ini:装好后打开网页:localhost/index.html居然显示:TherequestedURL/index.htmlwasnotfoundon

    2022年5月10日
  • WebSocket 协议 1~4 节

    WebSocket 协议 1~4 节

    2021年6月21日
  • 芯片设计之流水线设计-IC学习笔记(四)

    芯片设计之流水线设计-IC学习笔记(四)pipeline流水线设计是一种典型的面积换性能的设计。一方面通过对长功能路径的合理划分,在同一时间内同时并行多个该功能请求,大大提高了某个功能的吞吐率;另一方面由于长功能路径被切割成短路径,可以达到更高的工作频率,如果不需要提高工作频率,多出来的提频空间可以用于降压降功耗。

    2022年8月14日
  • 【Java 代码实例 14】BeanUtils用法详解,附源码分析

    【Java 代码实例 14】BeanUtils用法详解,附源码分析目录一、org.apache.commons.beanutils.BeanUtils简介二、使用的前置条件三、添加pom四、代码实例1、为属性赋值2、拷贝对象,为对象赋值3、map转bean4、bean转map五、Apache的BeanUtils与Spring的BeanUtils一、org.apache.commons.beanutils.BeanUtils简介BeanUtils是ApacheCommons组件的成员之一,主要用于简化JavaBean封装数据的操作。​简化反射封装参数的步骤,给对象封

    2022年9月11日
  • hi3516a与hi3516e_led player6.0怎么使用

    hi3516a与hi3516e_led player6.0怎么使用背景公司新做了一块3516Dv300的开发板,其中有MIPITx接口,刚好公司库房还有好几百块的LCD屏,LCD屏是800×480的,还是原装屏,不用掉怪可惜的了,所以就让硬件的同事化了个转接板,使用的芯片是ICN6211,这货最大分辨率可以支持到1920×1200,感兴趣的小伙伴自己下个手册看看。调试过程MIPI屏一般都有一组寄存器需要初始化,这个可以根据使用的芯片资料来初始化,大部分厂家会提供初始化寄存器,使用的MIPICommandMode,至于怎么使用,大家自己去Google。我们

    2022年9月14日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号