nutch的一些基础整理
nutch的一些基础整理
原创
2015年03月22日 18:18:01
<ul class="article_tags clearfix csdn-tracking-statistics" data-mod="popu_377">
<li class="tit">标签:</li>
<li><a href="http://so.csdn.net/so/search/s.do?q=nutch&t=blog" target="_blank">nutch</a> <span style="display: none;">/</span></li>
<!-- [endarticletags]-->
</ul>
<ul class="right_bar">
<li><button class="btn-noborder"><i class="icon iconfont icon-read"></i><span class="txt">240</span></button></li>
<li class="edit" style="display: none;">
<a class="btn-noborder" href="http://write.blog.csdn.net/postedit/44539479">
<i class="icon iconfont icon-bianji"></i><span class="txt">编辑</span>
</a>
</li>
<li class="del" style="display: none;">
<a class="btn-noborder" onclick="javascript:deleteArticle(fileName);return false;">
<i class="icon iconfont icon-shanchu"></i><span class="txt">删除</span>
</a>
</li>
</ul>
</div>
<div id="article_content" class="article_content csdn-tracking-statistics" data-mod="popu_519" data-dsm="post">
一、关于配置文件:
nutch-default.xml:爬虫的默认配置。在${nutch_home}/conf目录。
nutch-site.xml:理论上是nutch-default.xml的覆盖。
core-default.xml, hdfs-default.xml, mapred-default.xml:用于配置 Hadoop,与 hadoop-core-xxx.jar 相关。
mapred- default.xml:用于nutch的map-reduce配置。
hdfs-default.xml:用于在 Nutch 中实现 DFS。
regex-urlfilter.txt:从seed.txt读取URL和写入crawldb时,先过 regex-pattern。
二、关于表:
1、两类表webpage和host
2、gora映射放在${nutch_home}/conf目录gora*.xml文件
3、使用的数据库类型在gora.properties文件中配置,并有对应的映射文件。
三、种子文件seed.txt
1、每行一个种子url,可以自定义任何参数,并存到webpage的metadata字段。定义nutch.score、nutch.fetchInterval两个参数时可覆盖配置文件里的db.score.injected、db.fetch.interval.default两个配置。
2、每次injector时文件里的url都会先Normalizers再过filter
四、GeneratorJob
- Usage: GeneratorJob [-topN N] [-crawlId id] [-noFilter] [-noNorm] [-adddays numDays]
Usage: GeneratorJob [-topN N] [-crawlId id] [-noFilter] [-noNorm] [-adddays numDays]1、-topN <N>:在每次迭代中限制爬行的头几个链接数,默认是Integer.MAX_VALUE
2、-crawlId <id> :默认是storage.crawl.id配置
3、-noFilter:不使用过滤器
4、-noNorm:不Normalizers URL
5、-adddays:当前时间增加numDays天。可以影响什么时候爬取,相当于抓取的参考时间。fetchTime <= curTime时,表示可以抓取。
generat前对URL进行normalize后过URLFilters(跟InjectorJob里的是同一个)。
所以,通过DbUpdaterJob产生的新行(outlinks)只有在这里filter掉,以致后边的步骤不处理,但这些url依然会躺在webpage里,谁知道那天filter被修改后会不会用到这些URL。
五、FetcherJob
- Usage: FetcherJob (<batchId> | -all) [-crawlId <id>]
Usage: FetcherJob (<batchId> | -all) [-crawlId <id>]1、-resume:恢复中断的工作
2、-numTasks:任务数,<1时使用默认值mapred.map.tasks
这个时候只是把任务中可抓取的URL进行抓取,并更新数据库里的抓取时间及结果、状态等数据。这时webpage里有了url页面的html,并记录Content-Encoding、Content-Type、Server(nginx.etc.)、X-Via等字段。爬取时产生重定向的URL,过URLFilters和db.ignore.external.links后继续,重定向后的新URL作为原URL的outlink处理。
六、ParserJob
- Usage: ParserJob (<batchId> | -all) [-crawlId <id>] [-resume] [-force]
Usage: ParserJob (<batchId> | -all) [-crawlId <id>] [-resume] [-force]1、-resume:恢复之前未完成的
2、-force:强制重新解析已解析过的页面
这时对抓取过来的数据进行解析,也就是分析webpage里content字段的html,找出outlinks、OriginalCharEncoding、页面纯文字、标题、sig等字段。outlinks进行URLFilters和db.ignore.external.links。
七、DbUpdaterJob
1、其实就是根据数据库的情况更新一些权重字段,例如STATUS、Inlinks、Markers、Metadata、Score等
2、此时将把parser阶段解析到的outlinks生成新的webpage行,并且inlinks为上一步的url.。在mapper中根据outlinks生成scoreData后context.write,然后在reducer中产生新行。没有filter。只有计算score时有ScoringFilters。
3、www.sitename.com/和www.sitename.com/index.html被视为不同的抓取路径并产生两行记录
八、IndexingJob
将webpage中可索引的数据映射到NutchDocument,并扔给索引引擎。
nutch的一些基础整理的更多相关文章
- 机器学习 —— 基础整理(六)线性判别函数:感知器、松弛算法、Ho-Kashyap算法
这篇总结继续复习分类问题.本文简单整理了以下内容: (一)线性判别函数与广义线性判别函数 (二)感知器 (三)松弛算法 (四)Ho-Kashyap算法 闲话:本篇是本系列[机器学习基础整理]在time ...
- MySQL基础整理(一)之SQL基础(未完成)
大家好,我是浅墨竹染,以下是MySQL基础整理(一)之SQL基础 1.SQL简介 SQL(Structure Query Language)是一种结构化查询语言,是使用关系模型的数据库应用语言. 2. ...
- [转帖]nginx基础整理
nginx基础整理 https://www.cnblogs.com/guigujun/p/6588545.html 目录结构如下: Nginx基础知识 Nginx HTTP服务器的特色及优点 Ngin ...
- JAVA基础整理-集合篇(一)
集合作为JAVA的基础知识,本来感觉自己理解的很清楚了,但是在最近的一次面试中还是答得不尽如人意!再次做一下整理,以便加深理解以及随时查阅. 首先,java.util包中三个重要的接口及特点:List ...
- 关于JAVA面向对象基础整理以及个人的理解(适合初学者阅读)
JAVA的基础语法等都跟C有很大的相似之处,所以这里就不多啰嗦了.直接从数组开始. 数组: 1.声明 int [] a; 在声明的过程中,并没有分配空间给数组.我们可以在声明的同时,用new来分配相应 ...
- C#基础整理
元旦整理书架发现一本小册子——<C#精髓>中国出版社2001年出版的,粗略翻了下关于C#的知识点挺全的虽然内容谈得很浅也有很多过时的内容(话说这本书是我在旧书店花5块钱淘的)我保留原有章节 ...
- HTML5游戏开发技术基础整理
随着HTML5标准终于敲定.HTML5将有望成为游戏开发领域的的热门平台. HTML5游戏能够执行于包含iPhone系列和iPad系列在内的计算机.智能手机以及平板电脑上,是眼下跨平台应用开发的最佳实 ...
- js数组基础整理
首页: 主要整理了一下数组中常用的一些基础知识,代码都是自己手敲,有不对的地方希望能指出,目前只有4篇,后续会不断的增加这一板块. 由于少于100字不能发所以把一些最基本的创建数组也写上. // 创建 ...
- 机器学习 —— 基础整理(四)特征提取之线性方法:主成分分析PCA、独立成分分析ICA、线性判别分析LDA
本文简单整理了以下内容: (一)维数灾难 (二)特征提取--线性方法 1. 主成分分析PCA 2. 独立成分分析ICA 3. 线性判别分析LDA (一)维数灾难(Curse of dimensiona ...
随机推荐
- linux 下 The valid characters are defined in RFC 7230 and RFC 3986
换tomcat 8.0.38就ok . 下载地址: http://archive.apache.org/dist/tomcat/tomcat-8/v8.0.38/bin/apache-tomcat-8 ...
- Python Study (06)内存管理GC
对象在内存的存储,我们可以求助于Python的内置函数id().它用于返回对象的身份(identity).其实,这里所谓的身份,就是该对象的内存地址. a = 1 print(id(a)) #1124 ...
- POJ 1091
这题确实是好. 其实是求x1*a1+x2*a2+....M*xn+1=1有解的条件.很明显,就是(a1,a2,...M)=1了.然后,可以想象,直接求有多少种,很难,所以,求出选择哪些数一起会不与M互 ...
- Maya 2012 破解安装全图文教程
在学习U3D的过程中.我们要用到Maya这个工具,(当然你也能够用其它类似的), 我在安装破解 Maya 2012 的过程其中,走了一些弯路.通过搜索发现,网上关于Maya 破解的文章大多语焉不详,为 ...
- POJ 1236--Network of Schools【scc缩点构图 && 求scc入度为0的个数 && 求最少加几条边使图变成强联通】
Network of Schools Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 13325 Accepted: 53 ...
- hdoj--1754--I Hate It(线段树)
I Hate It Time Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- 【BZOJ 2453】 维护队列
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=2453 [算法] 带修改的莫队算法 当块的大小为N^(2/3)时,时间复杂度为 : O ...
- HTML5+Spring-MVC实现上传图片本地保存
以下就是具体的代码: 1.在jsp页面中的代码: <span style="font-size:24px;"><form method="post&qu ...
- centos 部署 .net core runtime 环境
除非在linux下开发才安装SDK,一般生产环境只需安装 runtime 1.添加 yum 源 sudo rpm --import https://packages.microsoft.com/key ...
- web.config配置文件使用总结
我们在开发web系统的时候,使用web.config进行配置是司空见惯的,那么web.confg到底是什么呢?什么时候使用web.config呢?有几种使用web.config方式呢? 如果不太明白的 ...