WEB中调用Nutch执行JOB抓取
把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抓取的更多相关文章
- Atitit.web的自动化操作与信息抓取 attilax总结
Atitit.web的自动化操作与信息抓取 attilax总结 1. Web操作自动化工具,可以简单的划分为2大派系: 1.录制回放 2.手工编写0 U' z; D! s2 d/ Q! ^1 2. 常 ...
- Jmeter Web 性能测试入门 (二):Fiddler 抓取 http/https 请求
jmeter自带了拦截request的功能,并且也有对应的tool:badboy 可以用.但由于我经常做移动端的项目,个人还是习惯用fiddler来收集request. 官网下载并安装Fiddler ...
- php中CURL技术模拟登陆抓取数据实战,抓取某校教务处学生成绩。
这两天有基友要php中curl抓取教务处成绩的源码,用于微信公众平台的开发.下面笔者只好忍痛割爱了.php中CURL技术模拟登陆抓取数据实战,抓取沈阳工学院教务处学生成绩. 首先,教务处登录需要验证码 ...
- 使用Python中的urlparse、urllib抓取和解析网页(一)(转)
对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过Python 语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...
- Python中的urlparse、urllib抓取和解析网页(一)
对搜索引擎.文件索引.文档转换.数据检索.站点备份或迁移等应用程序来说,经常用到对网页(即HTML文件)的解析处理.事实上,通过Python 语言提供的各种模块,我们无需借助Web服务器或者Web浏览 ...
- Scrapinghub执行spider抓取并显示图片
序 最近在学习Scrapy的时候发现一个很有意思的网站,可以托管Spider,也可以设置定时抓取的任务,相当方便.于是研究了一下,把其中比较有意思的功能分享一下: 抓取图片并显示在item里: 下面来 ...
- Spring5源码,Spring Web中的处理程序执行链
一.什么是Spring中的处理程序执行链? 二.HandlerExecutionChain类 三.自定义处理程序执行链 Spring的DispatcherServlet假如缺少几个关键元素将无法分派请 ...
- PHP中CURL技术模拟登陆抓取网站信息,用与微信公众平台成绩查询
伴随微信的红火,微信公众平台成为许多开发者的下一个目标.笔者本身对于这种新鲜事物没有如此多的吸引力.但是最近有朋友帮忙开发微信公众平台中一个成绩查询的功能.于是便在空余时间研究了一番. 主要的实现步骤 ...
- [Python爬虫] 之九:Selenium +phantomjs抓取活动行中会议活动(单线程抓取)
思路是这样的,给一系列关键字:互联网电视:智能电视:数字:影音:家庭娱乐:节目:视听:版权:数据等.在活动行网站搜索页(http://www.huodongxing.com/search?city=% ...
随机推荐
- UVa 793 - Network Connections
题目大意:给出计算机之间的连接配置,询问某两台计算机是否相连.判断两个点是否在同一个连通分量里,用并查集处理. #include <cstdio> #define MAXN 1000000 ...
- Intel X710网卡VxLAN offload 性能测试
Intel X710网卡VxLAN offload性能测试 1. 测试环境参数: 交换机:盛科E580 服务器: Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz ...
- 网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?
xampp 是一个非常方便的本地 apache + php + mysql 的调试环境,在本地安装测试 WordPress 等各种博客.论坛程序非常方便.今天我们来给大家介绍一下,如何使用 XAMPP ...
- js模块化开发——require.js的用法
这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战. 我采用的是一个非常流行的库require.js. 一.为什么要用require.js? 最早的 ...
- 一个好的函数(gcd)求最小公约数
这个函数是我无意中看到的很不错,很给力,我喜欢 是用于求最小公约数的 简单的描述就是,记gcd(a,b)表示非负整数a,b的最大公因数,那么:gcd(a,b)=gcd(b,a%b)或者gcd(a,0) ...
- HTML URL
HTML 统一资源定位器(Uniform Resource Locators) URL 是一个网页地址. URL可以由字母组成,如"runoob.com",或互联网协议(IP)地址 ...
- 数据契约(DataContract)的作用
服务契约定义了远程访问对象和可供调用的方法,数据契约则是服务端和客户端之间要传送的自定义数据类型. 一旦声明一个类型为DataContract,那么该类型就可以被序列化在服务端和客户端之间传送,如下所 ...
- js连接sqlserver进行查询
<script language="JavaScript"> // 创建数据库对象 var objdbConn = new ActiveXObject("AD ...
- KB奇遇记(10):终章
本来还想写一篇关于前CIO的著名言论,不过想想还是算了.博客空间宝贵,不乱恶心人了. 这篇博文是本系列<KB奇遇记>的最后一篇了. 虽然在KB公司有这么多的苦,但毕竟收获也很多,至少让我懂 ...
- Iris的R语言命令工具箱(1)
Iris的R语言命令工具箱(1) 最近在做数据分析,使用了R语言做了些数据处理和可视化,在此记下遇到过的问题.应用过的命令.处理方式以及工具包- *版权声明:本文为博主原创文章,转载请注明本文地址.h ...