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=% ...
随机推荐
- Intel X710网卡VxLAN offload 性能测试
Intel X710网卡VxLAN offload性能测试 1. 测试环境参数: 交换机:盛科E580 服务器: Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz ...
- Git和Github的配合使用
Git教程 http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 Git 本地仓库详解 ...
- iOS 界面 之 EALayout 无需反复编译,可视化实时界面,告别Storyboard AutoLayout Xib等等烦人的工具
http://blog.csdn.net/fatherhui iOS开发,EALayout 无需反复编译,可视化实时界面,告别Storyboard AutoLayout Xib等等烦人的工具 EALa ...
- Sublime text追踪函数插件
Sublime Text2/3怎样在Ubuntu中配置CTags插件 | 浏览:1278 | 更新:2014-03-05 10:34 1 2 3 4 5 6 7 分步阅读 本文详解在Ubuntu Li ...
- error: WatchKit App doesn't contain any WatchKit Extensions whose WKAppBundleIdentifier matches
error: WatchKit App doesn't contain any WatchKit Extensions whose WKAppBundleIdentifier matches &quo ...
- 各种浏览器开启JavaScript脚本方法
各种浏览器开启JavaScript脚本方法 随着网站设计技术的发展,为了用户友好体验,大部分网站使用了JavaScript脚本设计,如果您的浏览器禁用或关闭的JavaScript支持,那么可能造成网站 ...
- BZOJ2733 永无乡【splay启发式合并】
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- 后台邮箱配置SMTP函数,如何把发件人设置为自定义昵称
默认的php的mail函数,太坑爹! 用PHPCMS配置好SMTP后,虽然能发送邮件. 但是收件人一项,显示的是邮箱地址@前面的内容. 今天研究了一下午,终于在一个论坛里找到了答案. 原来PHPCMS ...
- 邮件报警shell脚本
温馨提示 首先要安装postfix 或者 sendmail 等邮件服务器 1.Apache #!/bin/bash #apache.sh nc -w2 localhost 80 if[ $? -ne ...
- 【MySQL】容器集群支持数据库实践
京东容器数据库系统,管理1800台物理计算节点,生产1W+ 多MySQL Docker容器实例.架构简单可靠,Docker容器计算平台与MySQL集群管理平台解耦处理.为描述方便,京东容器化数据库系统 ...