1.下载Nutch1.7的包 apache-nutch-1.7-src.zip,解压之后应该包括 bin,conf,src等目录

2.将解压之后的 apache-nutch-1.7 文件夹放到eclipse的workspace中

3.创建工程(工程类型是 java Project from existing Ant Buildfile) 选择apache-nutch-1.7/build.xml, Project Name为apache-nutch-1.7

4.右键 conf目录  bulidPath --> use as sourceFolder,并修改项目的编码方式为UTF8

5. 修改conf下的nutch-site.xml,在configuration标签对中添加如下代码:

<property>

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

<value>test</value>

</property>

6. 用ant编译build.xml,勾选jar, job 和runtime(默认就勾选上了)

7. 将生成的build/ jar  job  plugins复制到根目录下面

注意,每次修改了conf目录中的配置文件,必须重新编译,重新把jar job plugins复制一份,修改才能生效

.在工程的根目录下建立urls文件夹,其中新建一个seed.txt文件,里边就是我们需要爬取的目标网站,如果需要爬多个网站,每个网站占一行

9.修改crawl-urlfilter.txt,只过滤我们想要的网站(下边的正则表达式表示只过滤以.163结束的URL地址)

# accept hosts in MY.DOMAIN.NAME

+^http://([a-z0-9]*\.)*163.com/

10.手动运行 org.apache.nutch.crawl包里边的Crawl.java  需要一下的参数

Usage: Crawl <urlDir> -solr <solrURL> [-dir d] [-threads n] [-depth i] [-topN N]

urlDir指的是需要爬取的url地址(就是上边我们建立的urls文件夹里seed.txt里的URL)这里我们写 urls

sorlURL是slor服务的地址,暂时可以不管

-dir是爬取之后的文件存放的位置 我们可以再建一个和urls平级的文件夹 dir

-threads 是抓取的时候启动的线程的数量

-depth 指的是抓取的深度

-topN  每次抓取的最大page数量

为Crewl.java 添加如下运行参数 Crawl urls -dir dir -threads 2 -depth 3 -topN 5 然后就可以抓取了

在windows下可能会遇到的问题:

1 fail to set permissions of path\ staging 0700

nutch1.4往上的版本会有这个问题,hadoop设置的文件权限问题,linux下没有问题,

解决的办法参看CSDN的这篇文章:http://blog.csdn.net/mengfei86/article/details/8155544  修改一下Hadoop-core1.2.0的源代码,注释掉检查文件权限的那段代码 ,重新编译一下。 替换掉apache-nutch-1.7/build/lib下的Hadoop-core-1.2.0.jar即可。

nutch 1.7导入Eclipse的更多相关文章

  1. nutch 1.7 导入 eclipse

    开发环境建议:ubuntu+eclipse (windows + cygwin + eclipse不推荐) 第一步:下载http://archive.apache.org/dist/nutch/从上述 ...

  2. spring源码解析——spring源码导入eclipse

    一.前言     众所周知,spring的强大之处.几乎所有的企业级开发中,都使用了spring了.在日常的开发中,我们是否只知道spring的配置,以及简单的使用场景.对其实现的代码没有进行深入的了 ...

  3. 如何将MyEclipse项目导入eclipse

    我们经常会在网上下载一些开源项目,或者从别的地方迁移一些项目进来,但经常会发现导入后各种报错.这是初学java肯定会遇到的问题,本文对一些常见的处理方案做一个总结.(本文将MyEclipse项目导入e ...

  4. Android Studio 2.2.2导入Eclipse中创建的项目

    最近随视频教程学习Android,原本都是用Adt写Android程序,中途教程换成了Android Studio,于是我自己下了android studio 2.2.2安装好,并下载好sdk,也跟着 ...

  5. 开源项目导入eclipse的一般步骤

    开源项目导入eclipse的一般步骤 周银辉 下载到开源项目后,我们还是希望导入到eclipse中还看,这样要方便点,一般的步骤是这样的 打开源代码目录, 如果看到里面有.calsspath .pro ...

  6. svn工具安装下载Tomcat源码以及导入eclipse

    安装 1.svn下载地址 https://tortoisesvn.net/downloads.html 2.语言包下载 3.先安装svn,在直接安装语言包 4.桌面右键可以看到相关svn信息 下载To ...

  7. Openfire3.9.3源代码导入eclipse中开发配置指南

    这篇文章向大家介绍一下,如何把openfire3.9.3源码导入eclipse中,编译并启动的详细过程. 首先得感谢这篇文章的作者,http://www.micmiu.com/opensource/o ...

  8. Tomcat源码导入eclipse的步骤

    Tomcat源码导入eclipse 一.下载源码 1.  进入Apache 官网:http://tomcat.apache.org/ 2.  在左边侧选择要下载的源码的版本. 3.  或者直接通过Ar ...

  9. Git项目存放位置在导入Eclipse前不能存放在Eclipse Workspace

    这篇帖子的背景: 本人想将一个git项目导入至Eclipse的Workspace中,并且该项目的所有git信息.但是,该git项目在导入之前,就已经存放在Eclipse的Workspace中.在将该g ...

随机推荐

  1. 一、think in java 第一章

    一.面向对象程序设计方式: 1.万物皆为对象. 将对象视为奇特的变量,它可以存储数据,也可以要求它在自身上执行操作. 2.程序是对象的集合,它们通过发送消息来告知彼此所要做的. 要请求一个对象,就必须 ...

  2. iOS彩票项目--第三天,搭建竞技场和发现,搭建幸运选号和我的彩票界面

    一.竞技场搭建--UISegmentedControl的使用 // 重写 自定义控制器的view - (void)loadView { UIImageView *imgView = [[UIImage ...

  3. Java-jdbc增删改查操作

    java jdbc增删改查操作: package com.gordon.jdbc; import java.sql.Connection; import java.sql.DriverManager; ...

  4. tensorflow函数学习笔记

    https://www.w3cschool.cn/tensorflow_python/tensorflow_python-4isv2ez3.html tf.trainable_variables返回的 ...

  5. c/c++函数指针(3)

    原文地址:http://blog.csdn.net/qingshuiyangfan/article/details/7692647 学习要点: 1,函数地址的一般定义和typedef简化定义;     ...

  6. 谷哥的小弟学后台(04)——MySQL(4)

    探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 具体解释Android主流框架不可或缺的基石 站在源代码的肩膀上全解Scroller工作机制 Android多分辨率适 ...

  7. par函数fg参数-控制前景色

    fg参数用来控制前景色,其实指的就是x轴和y轴的轴线和刻度线的颜色 在R语言中,会根据fg, col 任何一个参数的值,自动的将两个参数的值设置为相同的值,举个例子: par(fg = "r ...

  8. fastx tookit 操作fasta/fastq 文件 (1)

    准备测试文件 test.fq, 包含4条fastq 文件,碱基编码格式为phred64; @FC12044_91407_8_200_406_24 NTTAGCTCCCACCTTAAGATGTTTA + ...

  9. Unity简介

    Unity (也称 nity3D) 是一套包括图形. 声音.物理等功能的游戏引擎,提供了一个强大的关卡编辑器,支持大部分主流 3D 软件格式,使用 C# JavaScript 等高级语言实现脚本功能, ...

  10. 【Java面试题】32 ArrayList和Vector的区别

    1. Vector & ArrayList  相同点: 1.ArrayList和Vector都是继承了相同的父类和实现了相同的接口 2.底层都是数组实现的 3.初始默认长度都为10. 不同点: ...