
nutch
ATCO
我很懒,随便留下几个字。
展开
-
Nutch 的启动脚本分析 & Linux Shell
#!/bin/bash# # 第一行一定要指明系统需要哪种shell解释该shell程序## The Nutch command script## Environment Variables## NUTCH_JAVA_HOME The java implementation to use. Overrides JAVA_HOME.## NUTCH_H转载 2012-12-14 11:39:51 · 782 阅读 · 0 评论 -
Nutch源代码研究 网页抓取 数据结构
今天我们看看Nutch网页抓取,所用的几种数据结构: 主要涉及到了这几个类:FetchListEntry,Page, 首先我们看看FetchListEntry类: public final class FetchListEntry implements Writable, Cloneable 实现了Writable, Cloneable接口,Nutch许多类实现了Writable,转载 2013-06-05 11:25:19 · 1101 阅读 · 0 评论 -
Nutch源代码研究 网页抓取 fetch
搜索引擎Nutch源代码研究之一 网页抓取: Nutch的爬虫代码部分主要集中在:package org.apache.nutch.fetcher和插件protocol-file Protocol-ftp protocol-http protocol-httpclient以及相应的Parser插件中: 下面我们先从org.apache.nutch.fetcher开始: 最主要的类是转载 2013-06-05 11:10:16 · 3137 阅读 · 0 评论 -
Nutch 1.3 学习笔记 4 Generate
1. Generate的作用 在Inject之后就是Generate,这个方法主要是从CrawlDb中产生一个Fetch可以抓取的url集合(fetchlist),再结合一定的过滤条件,它的命令行如下: [html] view plaincopybin/nutch generate Usage: Generator cra转载 2013-10-21 14:23:58 · 911 阅读 · 0 评论 -
Nutch 1.3 学习笔记 4-1 SegmentReader分析
前面我们看了一下Generate的流程,它是为Fetch产生相应的fetchlist,这里想介绍一下Segment的查看工具SegmentReader类。1. 命令介绍[html] view plaincopybin/nutch readseg Usage: SegmentReader (-dump ... | -l转载 2013-10-21 14:24:30 · 741 阅读 · 0 评论 -
Nutch 1.3 学习笔记 5 Fetcher
1. Fetcher模块的简单介绍Fetcher这个模块在Nutch中有单独一个包在实现,在org.apache.nutch.fetcher,其中有Fetcher.java, FetcherOutput 和FetcherOutputFormat来组成,看上去很简单,但其中使用到了多线程,多线程的生产者与消费者模型,MapReduce的多路径输出等方法。下面我们来看一下Fetcher的注转载 2013-10-21 14:24:59 · 755 阅读 · 0 评论 -
Nutch 1.3 学习笔记 5-1 FetchThread
上一节看了Fetcher中主要几个类的实现,这一节会来分析一下其中用到的消费者FetcherThread,来看看它是干嘛的。1. Fetcher的Mapp模型Fetcher.java代码中可以看到,Fetcher继承自MapRunable,它是Mapper的抽象接口,实现这个接口的子类能够更好的对Map的流程进行控制,包括多线程与异步Maper。1.1 Fe转载 2013-10-21 14:25:26 · 734 阅读 · 0 评论 -
Nutch 1.3 学习笔记 6 ParseSegment
1. bin/nutch parse这个命令主要是用来解析抓取的内容,对其进行外链接分析,计算分数等操作,这个解析在抓取的时候就可以设置是否进行,如果在抓取的时候没有设置解析抓取的网页内容,那这边可以单独用一个Map-Reduce任务来做。后面的参数为:Usage: ParseSegment segment这里是一个segment的目录名2. ParseSegmen转载 2013-10-21 14:26:09 · 904 阅读 · 0 评论 -
Nutch 1.3 学习笔记1
1. Nutch是什么?Nutch是一个开源的网页抓取工具,主要用于收集网页数据,然后对其进行分析,建立索引,以提供相应的接口来对其网页数据进行查询的一套工具。其底层使用了Hadoop来做分布式计算与存储,索引使用了Solr分布式索引框架来做,Solr是一个开源的全文索引框架,从Nutch 1.3开始,其集成了这个索引架构2. 在哪里要可以下载到最新的Nutch?在下面地址转载 2013-10-21 14:21:03 · 805 阅读 · 0 评论 -
Nutch 学习笔记 2
1. Nutch 1.3 运行命令的一些介绍 要看Nutch的命令说明,可执行如下命令bin/nutch [html] view plaincopy Usage: nutch [-core] COMMAND where COMMAND is one of: crawl one-step转载 2013-10-21 14:21:54 · 735 阅读 · 0 评论 -
Nutch 1.3 学习笔记 - Inject
1. Inject是干嘛的?在Nutch中Inject是用来把文本格式的url列表注入到抓取数据库中,一般是用来引导系统的初始化。这里的文本格式如下:[html] view plaincopyhttp://www.nutch.org/ \t nutch.score=10 \t nutch.fetchInterval=2592000 \t us转载 2013-10-21 14:22:33 · 1264 阅读 · 0 评论 -
nutch 1.3 学习笔记3-1 Inject CrawlDB Reader
上次我们分析了Inject的整个流程,其中说到了Inject的输出格式是MapSequenceFileOutputFormat,这个格式可以使用一个叫CrawlDbReader的工具来读取和分析。下面我们就来分析一下这个工具有哪些用。1. CrawlDbReader工具的使用方法 在命令行中运行bin/nutch readdb后就可以看到其帮助,实际上这个shell方法调用的正转载 2013-10-21 14:23:21 · 743 阅读 · 0 评论 -
Nutch 1.3 学习笔记 7 CrawlDb - updatedb
这里主要看一下CrawlDb中的updatedb,它主要是用来更新CrawlDb数据库的1. bin/nutch updatedb我们用nutch的命令行时会看到一个方法叫updatedb,其实这个方法就是调用CrawlDb.java类中的update方法,它的参数帮助如下:[html] view plaincopyUsa转载 2013-10-21 14:26:39 · 913 阅读 · 0 评论 -
Nutch源代码研究 网页抓取 下载插件
今天我们来看看Nutch的源代码中的protocol-http插件,是如何抓取和下载web页面的。protocol-http就两个类HttpRespose和Http类,其中HttpRespose主要是向web服务器发请求来获取响应,从而下载页面。Http类则非常简单,其实可以说是HttpResponse的一个Facade,设置配置信息,然后创建HttpRespose。用户似乎只需要和Http类打交转载 2013-06-05 11:20:52 · 1058 阅读 · 0 评论 -
Nutch源代码研究 Parse网页
今天来看看Nutch如何Parse网页的: Nutch使用了两种Html parser工具(NekoHTML和TagSoup)来实现html的提取,这两种工具是可通过配置来选择的。 当然你要自己实现Parser你还可以选择HTMLParser[基于visitor访问者模式同时也提供了Event driver的接口]来 提取网页。如果你用惯了XML一套处理方法,使用NekoHTML和Ta转载 2013-06-05 10:59:36 · 1121 阅读 · 0 评论 -
提高nutch爬取效率
Here are the things that could potentially slow down fetching 下面这些是潜在的影响爬取效率的内容: 1) DNS setup 2) The number of crawlers you have, too many, too few. 3) Bandwidth limitations 4) Number转载 2013-06-13 14:32:46 · 2241 阅读 · 0 评论 -
Linux 下 Nutch的安装和使用
一、背景介绍 Nutch 是一个基于 Lucene 的开源的全文检索引擎工具,它含有网络爬虫的部分。Lucene为 Nutch 提供了文本索引和搜索的API。问题:我应该使用Lucene还是Nutch?回答:如果你不需要到别的网站上抓取数据的话,应该使用 Lucene。常见的应用场合是:你有数据源,需要为这些数据提供一个搜索页面。在这种情况下,最好的方式是直接从数据库中取出转载 2012-12-14 15:42:10 · 1003 阅读 · 0 评论 -
Nutch的命令详解
Nutch采用了一种命令的方式进行工作,其命令可以是对局域网方式的单一命令也可以是对整个Web进行爬取的分步命令。主要的命令如下:1. Crawl Crawl是“org.apache.nutch.crawl.Crawl”的别称,它是一个完整的爬取和索引过程命令。 使用方法: Shell代码 bin/nutch crawl [-dir d] [-threads n] [-d转载 2012-12-14 16:51:33 · 573 阅读 · 0 评论 -
nutch crawl的每一步
crawl的每一步具体发生了什么。 ==============准备工作====================== (Windows下需要cygwin) 从SVN check out代码; cd到crawler目录; ==============inject========================== $ bin/nutch inject crawl/转载 2012-12-21 11:17:48 · 905 阅读 · 0 评论 -
nutch相关目录说明
Nutch数据包含3个目录结构,分别是:1、Crawldb:用于存储Nutch将要检索的url信息,以及检索状态(是否检索、何时检索)2、Linkdb:用于存储每一个url所包含的超链接信息(包括锚点)3、Segments:一组url的集合,他们作为一个检索单元,可用于分布式检索Segment目录包含以下子目录信息:(1) crawl_generate:转载 2013-02-21 16:12:54 · 684 阅读 · 0 评论 -
Nutch工作流程-说明性文档
Nutch工作流程:建立初始URL集合分析初始URL集的建立有两种方式:超链接和站长提交。超链接 是指机器人程序根据网页链到其他网页中的超链接,就像日常生活中所说的“一传十,十传百……”一样,从少数几个网页开始,连到数据库上所有到其他网页的链接。理论上,若网页上有适当的超连结,机器人便可以遍历绝大部分网页。站长提交 是指在实际运行中,爬虫不可能抓取到所有站点,为此,网站站长转载 2013-02-05 14:27:10 · 727 阅读 · 0 评论 -
nutch 插件开发[资料整理]
plugin(插件)为nutch提供了一些功能强大的部件,nutch中很多功能都是使用插件实现的,而使用者也可以自行开发更多适合自已的插件。nutch使用这样的plugin系统有什么好处:1:可扩展性 通过plugin,nutch允许任何人扩展它的功能,而我们要做的只是对给定的接口做简单的实现,举个例子:我们在NUTCH里使用LOADBALANCE进行下载的插件,它就是一个对p原创 2013-03-06 15:04:40 · 4563 阅读 · 0 评论 -
linux下nutch的安装配置
Nutch,一个爬虫或者搜索引擎(加上索引的话)。现在Nutch的最新版本是Nutch2.1。Nutch所有的版本可在这个网址下载http://archive.apache.org/dist/nutch/,这里使用的是Nutch1.6。1. 下载Nutch1.6. 到http://archive.apache.org/dist/nutch/下载apache-nutch-转载 2013-02-26 16:31:41 · 5523 阅读 · 0 评论 -
nutch 分布式部署 自测
本文档的NUTCH版本为NUTCH1.61、首先确认部署目标机子的HADOOP安装运行正常。(其方法不在本文章范围,请参考其它文档)2、打包发布好NUTCH,修改配置:这里对于配置的修改只需要修改runtime/deploy/xxx.JOB包里的nutch-site.xml:爬虫标识名称:http.agent.name,名称可以随便赋值,如:NUTCH123插件目录:plugi原创 2013-03-29 14:55:30 · 927 阅读 · 0 评论 -
运行调试nutch的问题处理及注意事项
导入nutch项目时其conf文件下的所有配置文件需要加入到classPath中右键conf――>Build PathàUse as Source Folder在运行时如发生异常:x point org.apache.nutch.net.URLNormalizer not found.注:这是配置造成的,是插件目录的配置没有正确,修改conf/nutch-default.xml原创 2012-11-05 18:33:24 · 3023 阅读 · 0 评论 -
Nutch 命令介绍
2. 单个命令的说明2.1 bin/nutch crawlUsage: Crawl -solr [-dir d] [-threads n] [-depth i] [-topN N]这是用于对urls进行一键式抓取的命令2.2 bin/nutch readdb Usage: CrawlDbReader (-stats | -dump | -topN [转载 2012-11-05 17:08:51 · 867 阅读 · 0 评论 -
绕过ROBOTS规则,转向页面抓取配置,内容大小限制
1. 如何绕过目标站点的robots.txt限制 多数站点都是只允许百度、google等搜索引擎抓取的,所以会在robots.txt里限制其他爬虫。 nutch自然是会遵循robots协议的,但是我们可以通过修改nutch源码来绕过限制。 相关代码位于(nutch版本1.5.1,其他版本未测试): org.apache.nutch.fetcher.Fetcher的run方法.转载 2013-06-08 15:55:43 · 4856 阅读 · 0 评论 -
NUTCH主要源代码分析心得
主要类分析:一、 org.apache.nutch.crawl.Injector: 1,注入url.txt 2,url标准化 3,拦截url,进行正则校验(regex-urlfilter.txt) 4,对符URL标准的url进行map对构造,在构造过程中给CrawlDatum初始化得分,分数可影响url host的搜索排序,和采集优先级! 5转载 2013-06-09 09:20:32 · 935 阅读 · 0 评论 -
Nutch 1.3 学习笔记 8 LinkDb
这里主要是分析一下org.apache.nutch.crawl.LinkDb,它主要是用计算反向链接。1. 运行命令 bin/nutch invertlinks帮助参数说明:[html] view plaincopyUsage: LinkDb linkdb> (-dir segmentsDir> | seg1> seg2> .转载 2013-10-21 14:27:07 · 856 阅读 · 0 评论