nutch插件配置

1. 介绍

参考官方文档
参考杨尚川的博客,我补充些可能遇到的问题

2. 插件组成

2.1 java源文件
根据杨尚川博客修改,然后引入几个包
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
2.2 plugin.xml
告诉Nutch这个插件的一些信息
<plugin
   id="parse-jsoup"
   name="Html Parse Plug-in"
   version="1.0.0"
   provider-name="nutch.org">
   <runtime>
      <library name="parse-jsoup.jar">
         <export name="*"/>
      </library>
      <library name="tagsoup-1.2.1.jar"/>
      
        <library name="jsoup-1.7.3.jar"/>
   </runtime>
   <requires>
      <import plugin="nutch-extensionpoints"/>
   </requires>
   <extension id="org.apache.nutch.parse.html"
              name="HtmlParse"
              point="org.apache.nutch.parse.Parser">
      <implementation id="org.apache.nutch.parse.html.HtmlParser"
                      class="org.apache.nutch.parse.html.HtmlParser">
        <parameter name="contentType" value="text/html|application/xhtml+xml"/>
        <parameter name="pathSuffix" value=""/>
      </implementation>
   </extension>
</plugin>
2.3 build.xml
ant编译插件
<project name="parse-jsoup" default="jar-core">
  <import file="../build-plugin.xml"/>
  <!-- Build compilation dependencies -->
  <target name="deps-jar">
  </target>
  <!-- Add compilation dependencies to classpath -->
  <path id="plugin.deps">
    <fileset dir="${nutch.root}/build">
    </fileset>
  </path>
  <!-- Deploy Unit test dependencies -->
  <target name="deps-test">
    <ant target="deploy" inheritall="false" dir="../nutch-extensionpoints"/>
  </target>
</project>
2.4 ivy.xml
插件依赖管理
<ivy-module version="1.0">
  <info organisation="org.apache.nutch" module="${ant.project.name}">
    <license name="Apache 2.0"/>
    <ivyauthor name="Apache Nutch Team" url="http://nutch.apache.org"/>
    <description>
        Apache Nutch
    </description>
  </info>
  <configurations>
    <include file="../../../ivy/ivy-configurations.xml"/>
  </configurations>
  <publications>
    <!--get the artifact from our module name-->
    <artifact conf="master"/>
  </publications>
  <dependencies>
   <dependency org="org.ccil.cowan.tagsoup" name="tagsoup" rev="1.2.1"/>
   <dependency  org="org.jsoup"  name="jsoup"  rev="1.7.3"/>
  </dependencies>
</ivy-module>

具体配置可以看官方文档,也可以看其他插件是怎么配的。

3. 修改nutch-site.xml文件,把插件加入

    <property>
      <name>plugin.includes</name>
      <value>protocol-http|urlfilter-regex|parse-(html|tika)|index-(basic|anchor)|indexer-solr|scoring-opic|urlnormalizer-(pass|regex|basic)|parse-jsoup</value>
    </property>

4. 修改plugin/build.xml,添加你的插件

<ant dir="parse-jsoup" target="deploy"/>
<ant dir="parse-jsoup" target="test"/>
<ant dir="parse-jsoup" target="clean"/>

5. 修改parse-plugins.xml

    <mimeType name="text/html">
        <plugin id="parse-jsoup" />
    </mimeType>

<alias name="parse-jsoup"
       extension-id="org.apache.nutch.parse.html.HtmlParser" />
以前默认是parse-html
6. 重新ant编译,然后添加在class中添加插件,注意选择src/plugin/parse-jsoup/src/java目录,这样包名不会有错误,并在lib中添加
tagsoup-1.2.1.jar
nekohtml.jar
jsoup-1.7.3.jar

现在你就可以运行crawl,看看结果吧
" content ": "由我发起的JAVA开源项目:#APDPlat#应用级产品开发平台当选为#2013年度优秀开源项目#,在#第八届开源中国开源世界高峰论坛#上接受颁奖。\n\n双高证书(系统架构设计师、系统分析师)\n\n“分词”是语言理解的“前提”吗? - 杨尚川的博客 - ITeye技术网站 http://url.cn/Ly2FJv\n\nAPDPlat中的用户密码安全策略 - 杨尚川的博客 - ITeye技术网站 http://url.cn/OPCBjG\n\nNutch1.7二次开发培训讲义 之 腾讯微博抓取分析 - 杨尚川的博客 - ITeye技术网站 http://url.cn/Q6wxZ4\n\nNutch1.7二次开发培训讲义 - 杨尚川的博客 - ITeye技术网站 http://url.cn/KaVgnE\n\n【机器学习视频教程】“机器学习”是当今的大热门,“人工智能”、“大数据”等当今热门领域都离不开“机器学习”,给大家推荐一套非常棒的机器学习视频教程(总时长15个半小时,讲中文哦) (分享自 @QQ空间) http://url.cn/UNMwmK\n\nnew一个Object对象占用多少内存? - 杨尚川的博客 - ITeye技术网站 http://url.cn/JgVRtw\n\n编写正确的程序往往比一般人想象的难度要大的多,很多时候,程序是碰巧能运行,尤其是在多线程的情况下。\n\nJAVA调用CSDN接口发博文 - 杨尚川的博客 - ITeye技术网站 http://url.cn/QQFTvw\n\nCSDN博客飙升秘籍 - 杨尚川的个人页面 - 开源中国社区: 互联网时代,攻防是永恒的主题。为了获得用户眼球,抢占各类排行榜是一种行之有效的方法。本文介绍了一种CSDN博客飙升秘籍,可在短短一天内超过别人数年的努力。 http://url.cn/Ip0kug\n\nAPDPlat中的机器码生成机制 - 杨尚川的博客 - ITeye技术网站 http://url.cn/T31V7e\n\nAPDPlat如何自动建库建表并初始化数据? - 杨尚川的博客 - ITeye技术网站 http://url.cn/TJq2R1\n\nAPDPlat的系统启动和关闭流程剖析 - 杨尚川的博客 - ITeye技术网站 http://url.cn/VK0qUy\n\nAPDPlat拓展搜索之集成Solr - 杨尚川的博客 - ITeye技术网站 http://url.cn/OqgbDq\n\nAPDPlat拓展搜索之集成ElasticSearch - 杨尚川的博客 - ITeye技术网站 http://url.cn/P9sSVF\n\nAPDPlat中备份文件异地容灾机制之FTP上传 - 杨尚川的博客 - ITeye技术网站 http://url.cn/QgveGd\n\n" , " title ": "杨尚川的微博_腾讯微博" , " segment ": "20140312152056" , " boost ": 0.04689394 , " digest ": "0c8bed7e9776c890d778bbb705640967" , " tstamp ": "2014-03-12T07:21:54.426Z" , " id ": "http://t.qq.com/yang-shangchuan/?mode=0" , " url ": "http://t.qq.com/yang-shangchuan/?mode=0" , " _version_ ": 1462354646641148000
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值