nutch

How do I select and edit an xml node with xmlstartlet?

匿名 (未验证) 提交于 2019-12-03 02:31:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Here I'm selecting the node: $ xmlstarlet sel -t -c "/configuration/property[name='http.agent.name']"/value conf/nutch-default.xml <value/> This doesn't edit it: $ xmlstarlet edit "/configuration/property[name='http.agent.name']"/value -v 'test' conf/nutch-default.xml I/O warning : failed to load external entity "/configuration/property[name='http.agent.name']/value" What would be an xmlstartlet command that does change the change? AFAIK -x is not supported in xmlstartlet yet. I'm working on conf/nutch-default.xml $ xmlstarlet ed --help

What is the format of a patch file?

匿名 (未验证) 提交于 2019-12-03 01:49:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: What does the following mean ? diff -rBNu src.orig/java/org/apache/nutch/analysis/NutchAnalysisConstants.java src/java/org/apache/nutch/analysis/NutchAnalysisConstants.java --- src.orig/java/org/apache/nutch/analysis/NutchAnalysisConstants.java 2009-03-10 11:34:01.000000000 -0700 +++ src/java/org/apache/nutch/analysis/NutchAnalysisConstants.java 2009-03-10 14:11:55.000000000 -0700 @@ -4,9 +4,12 @@ + int CJK = 21; + int DIGIT = 22; int DEFAULT = 0; String[] tokenImage = { " ", + "\"OR\"", " ", " ", " ", @@ -39,6 +42,8 @@ "\"\\\"\"", "\":\"",

nutch 插件开发[资料整理]

烂漫一生 提交于 2019-12-03 00:56:05
plugin(插件)为nutch提供了一些功能强大的部件,nutch中很多功能都是使用插件实现的,而使用者也可以自行开发更多适合自已的插件。 nutch使用这样的plugin系统有什么好处: 1:可扩展性 通过plugin,nutch允许任何人扩展它的功能,而我们要做的只是对给定的接口做简单的实现,举个例子:我们在NUTCH里使用LOADBALANCE进行下载的插件,它就是一个对protocol这个接口的实现。 2:灵活性 因为每个人都可以根据自己的需求而写自己的plugin,这样plugin就会有一个很强大的资源库。这样对应用nutch程序员来说,他可以在自己的搜索引擎上安装符合自己需求的插件,而这些插件就在nutch的plugins中。这对于正在应用nutch的开发者来说应该是一个巨大的福音,因为你有了更多的关于内容抽取的算法来选择,很容易就增加了各种过滤规则、下载方式、解析文件类型等。 3:可维护性 每个开发者只要关注自己的问题。对于内核的开发者在为引擎内核扩展的同时,为plugin添加一个描述它的接口就可以了。一个plugin的开发者只要关注这个plugin所要实现的功能,而不需要知道整个系统是怎么工作的。它们仅仅需要知道的是plugin和plug之间交换的数据类型。这使得内核更加简单,更容易维护。 plugin的工作原理 nutch的plugin系统是基于Eclipse

开源爬虫框架哪家强?是骡子是马,拉出来溜溜就知道了!

匿名 (未验证) 提交于 2019-12-02 22:51:30
Project Language Star Watch Fork Nutch Java 1111 195 808 webmagic Java 4216 618 2306 WebCollector Java 1222 255 958 heritrix3 Java 773 141 428 crawler4j Java 1831 242 1136 Pyspider Python 8581 687 2273 Scrapy Python 19642 1405 5261 看到了吗?星星数排名第一的Scrapy比其他所有的加起来都要多,我仿佛听到他这样说: 优点: 极其灵活的定制化爬取。 社区人数多、文档完善。 URL去重采用布隆过滤器方案。 可以处理不完整的HTML,Scrapy已经提供了selectors(一个在lxml的基础上提供了更高级的接口),可以高效地处理不完整的HTML代码。 缺点: 不支持分布式部署。 原生不支持抓取JavaScript的页面。 全命令行操作,对用户不友好,需要一定学习周期。 结论 篇幅有限,就先选择这三个最有代表性的框架进行PK。他们都有远超别人的优点,比如:Nutch天生的搜索引擎解决方案、Pyspider产品级的WebUI、Scrapy最灵活的定制化爬取。也都各自致命的缺点,比如Scrapy不支持分布式部署,Pyspider不够灵活,Nutch和搜索绑定

nutch与起点R3集成之笔记(二)

社会主义新天地 提交于 2019-12-02 19:31:49
在 nutch与起点R3集成之笔记(一) 中介绍了在起点R3中添加nutch要用到的索引字段,上述字段建好后,就可以通过nutch抓取一个或多个网站内容,并通过 bin/nutch solrindex 送到起点R3索引库中。 三、nutch安装与配置 1.安装nutch 先从 http://www.apache.org/dist//nutch/apache-nutch-1.3-bin.zip 下载nutch1.3,展开。nutch可以在linux环境下运行,也可以在windows环境下运行,也可以导入到eclipse中运行。 在linux环境下安装最简单,将展开后runtime/local目录下的内容上传到linux的一个目录下,如/opt/nutch1.3,同时将 /opt/nutch1.3/lib下的nutch-1.3.jar copy到 /opt/nutch1.3目录,并改名为 nutch-1.3.job,并chmod +x /opt/nutch1.3/bin。同时要有JDK环境,并在profile中设置JAVA_HOME,PATH中有JDK的bin路径。在 /opt/nutch1.3目录键入 bin/nutch ,出现如下提示: [root@test nutch-1.3]# bin/nutch Usage: nutch [-core] COMMAND where

基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎

血红的双手。 提交于 2019-12-02 17:43:03
网络爬虫架构在Nutch+Hadoop之上,是一个典型的分布式离线批量处理架构,有非常优异的吞吐量和抓取性能并提供了大量的配置定制选项。由于网络爬虫只负责网络资源的抓取,所以,需要一个分布式搜索引擎,用来对网络爬虫抓取到的网络资源进行实时的索引和搜索。 搜 索引擎架构在ElasticSearch之上,是一个典型的分布式在线实时交互查询架构,无单点故障,高伸缩、高可用。对大量信息的索引与搜索都可以在近 乎实时的情况下完成,能够快速实时搜索数十亿的文件以及PB级的数据,同时提供了全方面的选项,可以对该引擎的几乎每个方面进行定制。支持RESTful 的API,可以使用JSON通过HTTP调用它的各种功能,包括搜索、分析与监控。此外,还为Java、PHP、Perl、Python以及Ruby等各 种语言提供了原生的客户端类库。 网络爬虫通过将抓取到的数据进行结构化提取之后提交给搜索引擎进行索引,以供查询分析使用。由于搜索引擎的设计目标在于近乎实时的复杂的交互式查询,所以搜索引擎并不保存索引网页的原始内容,因此,需要一个近乎实时的分布式数据库来存储网页的原始内容。 分布式数据库架构在Hbase+Hadoop之上,是一个典型的分布式在线实时随机读写架构。极强的水平伸缩性,支持数十亿的行和数百万的列,能够对网络爬虫提交的数据进行实时写入,并能配合搜索引擎,根据搜索结果实时获取数据。 网 络爬虫

Nutch中Hadoop的应用之Injector

ぐ巨炮叔叔 提交于 2019-12-02 02:48:59
这学期“体系结构”的大作业是让写一个搜索引擎。所以前一段时间就简单看了下Nutch。这篇文章不会涉及到搜索引擎的细节,而是侧重于Hadoop在Nutch中的应用。 Hadoop在Nutch中是充当了数据的存储和MapReduce任务执行的角色。 我们首先关注下页面爬取的过程。在Nutch中有个叫做“CrawlDb“的数据库,它是用来存储所有网络爬虫已知的URL地址,以及该地址的相应状态信息的的。其中状态信息包括爬取状态,上次爬取的时间,爬取间隔等。在Nutch中,该数据库使用Hadoop的Map文件形式存储。具体格式为<Text, CrawlDatum>。其中的key表示该URL的地址,而value则是Nutch自己定义的一个类型“CrawlDatum”,该类型实现了"Writable"接口,用来表示页面的一些属性。 “CrawlDatum"的类的具体形式如下: package org.apache.nutch.crawl; public class CrawlDatum implements WritableComparable<CrawlDatum>, Cloneable { private byte status; private long fetchTime = System.currentTimeMillis(); private byte retries;

Nutch Hadoop 教程

谁说胖子不能爱 提交于 2019-12-02 02:48:45
怎样安装Nutch和 Hadoop 搜寻网页和邮件列表,似乎很少有关于如何使用Hadoop (曾经的DNFS)分布式文件系统( HDFS )和MapReduce来安装Nutch的文章 。 本教程的目的是通过逐步讲解的方法,来讲解了如何在多节点的Hadoop文件系统上运行Nutch,包括能够同时索引(爬取)和搜寻多台机器。 这篇文档没有涉及到Nutch或Hadoop架构。它只是讲述了如何让系统启动和运行。 然而,在教程的最后,如果您想更多地了解Nutch和Hadoop的体系结构,我将指给您相关的资源。 本教程的有些事情是预先假定的: 首先,我进行了一些设置并且 使用了根层级的存取。 这包括在多个机器上建立同一个用户以及在用户主目录之外建立一个本地的文件系统。安装Nutch和Hadoop并不一定非要根存取 (虽然有时它非常便利)。如果您没有根访问权限,您将需要把同一个用户安装在所有您正在使用的机器上,而且您可能需要在您的主目录内使用一个本地文件系统。 二,由于Hadoop使用SSH来启动从服务器,所有的机器都 将需要有一个SSH服务器在运行(不只是一个客户端)。 三,本教程使用的是 Whitebox Enterprise Linux 3 Respin 2(WHEL)。那些不知道Whitebox的人可以认为它是一个 RedHat Enterprise Linux的克隆版本

Nutch message “No IndexWriters activated” while loading to solr

≯℡__Kan透↙ 提交于 2019-12-01 17:33:14
问题 I have run nutch crawler as per nutch tutorial http://wiki.apache.org/nutch/NutchTutorial but when i started loading it to solr i am getting this message i.e. " No IndexWriters activated - check your configuration " bin/nutch solrindex http://localhost:8983/solr crawl/crawldb/ -dir crawl/segments/ Indexer: starting at 2013-07-15 08:09:13 Indexer: deleting gone documents: false Indexer: URL filtering: false Indexer: URL normalizing: false **No IndexWriters activated - check your configuration*

编写一个最简单的Nutch插件

旧街凉风 提交于 2019-12-01 16:19:26
nutch是高度可扩展的,他使用的插件系统是基于 Eclipse2.x的插件系统 。在这篇文章中我讲解一下如何编写一个nutch插件,以及在这个过程中我遇到的坑。 请先确保你在eclipse中成功运行了nutch,可以参考 在eclipse中运行nutch 我们要实现的插件的 功能 是接管抓取过程,然后无论抓取什么网址,我们都返回hello world,够简单吧。。。 插件机制 nutch的插件机制大致是这样;nutch本身暴露了几个扩展点,每个扩展点都是一个接口,我们可以通过实现接口来实现这个扩展点,这就是一个扩展。一个插件可以保护多个扩展。 这是nutch官网列举的nutch的几个主要扩展点: IndexWriter -- Writes crawled data to a specific indexing backends (Solr, ElasticSearch, a CVS file, etc.). IndexingFilter -- Permits one to add metadata to the indexed fields. All plugins found which implement this extension point are run sequentially on the parse (from javadoc). Parser --