参考:在Eclipse中运行Nutch

把nutch的源代码导入到eclipse工程自定义抓取任务。

下载源码:

http://svn.apache.org/repos/asf/nutch/

从svn下载想要的nutch源码,这里选择nutch-1.1

编译源码:

使用ant编译源代码,编译成功,可以看到多了一个build目录,其中有plugins目录及nutch-1.1.job文件

新建WEB工程

新建web工程org.apache.nutch.web,执行以下操作

1、      把nutch源代码的src/java 目录复制到web工程的src目录

2、      把nutch源代码的src/conf目录复制到web工程的src目录

3、      把nutch源代码的src/lib目录复制到web工程的WEB-INF/lib目录

4、      把编译的plugins目录复制到web工程的src目录

5、      在web工程src新建目录job,把编译的nutch-1.1.job文件复制到src/job

6、      在web工程src新建目录test,建立测试类,用这个类去调用crawl的main()

package org.apache.nutch;

import org.apache.nutch.crawl.Crawl;

public class Main {

    public static void main(String[] args) {
String[] arg = { "/urls/url.txt", "-dir", "crawled", "-depth", "", "-topN",
"" };
try {
Crawl.main(arg);
} catch (Exception e) {
e.printStackTrace();
}
} }

Note:

1、      Nutch使用hadoop调度任务,使用前要编辑conf目录下的core-site.xml、hdfs-site.xml、mapred-site.xml等hadoop配置文件。

2、      Nutch-1.1中没有hbase的jar文件,需另下载并设置hbase的配置文件,这里用hbase-0.94.jar

FAQ:

这是一位网友收集的hadoop,hbase,zookeeper错误日志及部分解决办法,以备以后遇到问题作为参考之用。

1、  hadoop-0.20.2 & hbase-0.90.4集群启动错误问题解决:

问题如下:org.apache.hadoop.ipc.RPC$VersionMismatch: Protocol org.apache.hadoop.hdfs.protocol.ClientProtocol version mismatch. (client = 43, server = 41)

at org.apache.hadoop.ipc.RPC.getProxy(RPC.java:364)
        at
org.apache.hadoop.hdfs.DFSClient.createRPCNamenode(DFSClient.java:113)
        at
org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:215)
        at
org.apache.hadoop.hdfs.DFSClient.<init>(DFSClient.java:177)

是hadoop-0.20.2
& hbase-0.90.4版本问题造成的,讲hbase\lib引入的包替换为hadoop-0.20.2-core.jar即可

2、  org.apache.hadoop.security.AccessControlException:
Permission denied: user=pc2000, access=WRITE

因为Eclipse使用hadoop插件提交作业时,会默认以 pc2000(计算机名)
身份去将作业写入hdfs文件系统中,对应的也就是 HDFS 上的/user/xxx ,  由于 pc2000 用户对hadoop目录并没有写入权限,所以导致异常的发生。

WEB中调用Nutch执行JOB抓取的更多相关文章

  1. Atitit.web的自动化操作与信息抓取&#160;attilax总结

    Atitit.web的自动化操作与信息抓取 attilax总结 1. Web操作自动化工具,可以简单的划分为2大派系: 1.录制回放 2.手工编写0 U' z; D! s2 d/ Q! ^1 2. 常 ...

  2. Jmeter Web 性能测试入门 (二):Fiddler 抓取 http/https 请求

    jmeter自带了拦截request的功能,并且也有对应的tool:badboy 可以用.但由于我经常做移动端的项目,个人还是习惯用fiddler来收集request. 官网下载并安装Fiddler ...

  3. php中CURL技术模拟登陆抓取数据实战,抓取某校教务处学生成绩。

    这两天有基友要php中curl抓取教务处成绩的源码,用于微信公众平台的开发.下面笔者只好忍痛割爱了.php中CURL技术模拟登陆抓取数据实战,抓取沈阳工学院教务处学生成绩. 首先,教务处登录需要验证码 ...

  4. 使用Python中的urlparse、urllib抓取和解析网页(一)(转)

    对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过Python 语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...

  5. Python中的urlparse、urllib抓取和解析网页(一)

    对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过Python 语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...

  6. Scrapinghub执行spider抓取并显示图片

    序 最近在学习Scrapy的时候发现一个很有意思的网站,可以托管Spider,也可以设置定时抓取的任务,相当方便.于是研究了一下,把其中比较有意思的功能分享一下: 抓取图片并显示在item里: 下面来 ...

  7. Spring5源码,Spring Web中的处理程序执行链

    一.什么是Spring中的处理程序执行链? 二.HandlerExecutionChain类 三.自定义处理程序执行链 Spring的DispatcherServlet假如缺少几个关键元素将无法分派请 ...

  8. PHP中CURL技术模拟登陆抓取网站信息,用与微信公众平台成绩查询

    伴随微信的红火,微信公众平台成为许多开发者的下一个目标.笔者本身对于这种新鲜事物没有如此多的吸引力.但是最近有朋友帮忙开发微信公众平台中一个成绩查询的功能.于是便在空余时间研究了一番. 主要的实现步骤 ...

  9. [Python爬虫] 之九:Selenium +phantomjs抓取活动行中会议活动(单线程抓取)

    思路是这样的,给一系列关键字:互联网电视:智能电视:数字:影音:家庭娱乐:节目:视听:版权:数据等.在活动行网站搜索页(http://www.huodongxing.com/search?city=% ...

随机推荐

  1. CSS3 2D 转换

    2D 转换 在本章中,您将学到如下 2D 转换方法: translate() rotate() scale() skew() matrix() 您将在下一章学习 3D 转换. 实例 div { tra ...

  2. unity3d插件Daikon Forge GUI 中文教程7-高级控件slider的使用

    3.6.slider滑块              我们说说前面这个图片.对象 Appearance: Atlas 图集: Track 滑块的轨道图片 Back color滑块的轨道图片的主颜色. O ...

  3. MVC5为WebAPI添加命名空间的支持

    前言 默认情况下,微软提供的MVC框架模板中,WebAPI路由是不支持Namespace参数的.这导致一些比较大型的项目,无法把WebApi分离到单独的类库中. 本文将提供解决该问题的方案. 微软官方 ...

  4. NTKO Officecontrol在线Word编辑器的使用

    1.何时进行手工卸载和安装 一般情况下应该让客户端自动控件,这样当服务器控件版本更新时,客户端可以获得自动升级方面的好处.但是,如果因为客户机配置有问题,或者有其它拦截工具拦截的原因无法自动安装控件, ...

  5. oracle 10g 学习之游标使用和异常介绍(11)

    一.游标 1. 使用游标 要求: 打印出 80 部门的所有的员工的工资: salary: xxx declare --1. 定义游标 cursor salary_cursor is select sa ...

  6. ubuntu下搭建nagios

    基本参考 http://nagios.sourceforge.net/docs/3_0/quickstart-ubuntu.html,直接apt-get install的话应该更快.要监控url,参考 ...

  7. Hystrix-request collapsing(请求合并)

    介绍: Hystrix的请求合并就是把重复的请求批量的用一个HystrixCommand命令去执行,以减少通信消耗和线程数的占用.Hystrix的请求合并用到了HystrixCollapser这个抽象 ...

  8. 从0打卡leetcode之day 6--最长回文串

    题目描述 给定一个字符串 s,找到 s中最长的回文子串.你可以假设 s 的最大长度为1000. 示例1 输入: "babad" 输出: "bab" 注意: &q ...

  9. dp 二维乃至多维背包

    洛谷P1855 榨取kkksc03 分析:套路是很明显的01背包,但是这时受约束的变量有两个了,这种情况下就该用多维背包了 分析方法一样的,用dp[i][j][k]表示从前i个愿望中挑选总时间和总金钱 ...

  10. HDU 5512 - Pagodas - [gcd解决博弈]

    题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5512 Time Limit: 2000/1000 MS (Java/Others) Mem ...