Nutch2.X In Eclipse

1.目标

  • Nutch2.2.1+Elaticsearch0.90.5+Mysql5.5.12


2.环境准备

  • Nutch2.2.1 下载

  • Elaticsearch0.90.5 下载

  • Mysql5.5.12 下载

  • Java6 下载

  • Ant(ivy)下载

3.数据库初始化

  • 创建数据库

    CREATE DATABASE nutch DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

  • 创建表

    CREATE TABLE `webpage` (

      `id` varchar(255) NOT NULL,

      `headers` blob,

      `text` mediumtext,

      `status` int(11) DEFAULT NULL,

      `markers` blob,

      `parseStatus` blob,

      `modifiedTime` bigint(20) DEFAULT NULL,

      `score` float DEFAULT NULL,

      `typ` varchar(32) CHARACTER SET latin1 DEFAULT NULL,

      `baseUrl` varchar(767) DEFAULT NULL,

      `content` longblob,

      `title` varchar(2048) DEFAULT NULL,

      `reprUrl` varchar(767) DEFAULT NULL,

      `fetchInterval` int(11) DEFAULT NULL,

      `prevFetchTime` bigint(20) DEFAULT NULL,

      `inlinks` mediumblob,

      `prevSignature` blob,

      `outlinks` mediumblob,

      `fetchTime` bigint(20) DEFAULT NULL,

      `retriesSinceFetch` int(11) DEFAULT NULL,

      `protocolStatus` blob,

      `signature` blob,

      `metadata` blob,

      `batchId` varchar(255) DEFAULT NULL,

      PRIMARY KEY (`id`)

    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;


4. Nutch源码导入Eclipse

  • tar xvfz apache-nutch-2.2.1-src.tar.gz

  • cd apache-nutch-2.2.1

  • vi ivy/ivy.xml

 <dependency org="org.apache.gora" name="gora-core" rev="0.2.1" conf="*->default"/>

 <dependency org="org.apache.gora" name="gora-sql" rev="0.1.1-incubating" conf="*->default" />

 <dependency org="mysql" name="mysql-connector-java" rev="5.1.18" conf="*->default"/> 

  • ant eclipse

  • New Project->Java Project from Existing Ant Buildfile->select “apache-nutch-2.2.1”

  • 选中“apache-nutch-2.2.1”选“属性”-》Java Build Path -》Source-》设置“apache-nutch-2.2.1/conf”

  • 修改 apache-nutch-2.2.1/conf/gora.properties

    ###############################

    # Default MySQL properties    #

    ###############################

    gora.sqlstore.jdbc.driver=com.mysql.jdbc.Driver

    gora.sqlstore.jdbc.url=jdbc:mysql://10.11.156.226:3306/nutch?createDatabaseIfNotExist=true

    gora.sqlstore.jdbc.user=nutch

    gora.sqlstore.jdbc.password=nutch


  • 修改 apache-nutch-2.2.1/conf/nutch-default.xml

    <property>

      <name>plugin.folders</name>

      <value>build/plugins</value>

      <description>Directories where nutch plugins are located.  Each

      element may be a relative or absolute path.  If absolute, it is used

      as is.  If relative, it is searched for on the classpath.</description>

    </property>

  • 修改 apache-nutch-2.2.1/conf/nutch-site.xml

    <configuration>

    <property>

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

    <value>CsNutchSpider</value>

    </property>

    <property>

    <name>http.accept.language</name>

    <value>ja-jp, en-us,en-gb,en;q=0.7,*;q=0.3</value>

    </property>

    <property>

    <name>storage.data.store.class</name>

    <value>org.apache.gora.sql.store.SqlStore</value>

    </property>

    <property>

    <name>parser.character.encoding.default</name>

    <value>utf-8</value>

    </property>

    <property>

    <name>generate.batch.id</name>

    <value>*</value>

    </property>

    </configuration>

5. Nutch源码调试

  • 选择“src/java”新建目录urls/seed.txt(一行一个url)

      http://cloudscape.sohu.com

  • 选择“src/java”下 Crawler.java,  可以进行 Debug  or  Run

  • 配置参数:

      Program arguments:urls -depth 3 -topN 5

      VM arguments:-Xms512m -Xmx1024m -XX:MaxPermSize=256m


  • 查看数据库是否有抓取的url信息

6. Nutch一些问题:

  • 后续补充


一切 OK,可以对源码进行二次开发!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值