浅谈对 Nutch2.3.3 的一点见解

教程 Imba ⋅ 于 2017-04-02 22:14:21 ⋅ 800 阅读

浅谈对 Nutch2.3.3 的一点见解

Nutch2.3.3大致有6个步骤:inject,generate,fetch,pars,update,index。其中循环主体是generate,fetch,pars,index。
file

inject

inject是建立一个collection,inject可以跟两个参数,一个是url的地址,一个是crawlId。url的地址就是存放你要爬取网页的文本的地址。crawlId是你要注入url的collection,如果该crawlId的collection不存在,则会创建一个名为crawlId的collection并注入我们要爬取的url。
我们给inject注入url的时候输入-crawlId lookbook,可以看到,我们的collection的name就是lookbook。

file

generate

generate可以跟六个参数,而跟循环有关的,是主要的3个,一个是crawlId,一个是topN,还有个是batchId。
如果说,inject是建立一个仓库,仓库名为crawlId,并在仓库里放入第一批货物(url)。那么generate就是你拿着topN个标签(默认是最大值),去名为crawlId的仓库里,给货物贴标签,而batchId则是标签上的记号(默认是根据当前时间生产的随机序列)。generate的话,只有crawlId是必要的。我输入的是-crawlId look -batchId diyibo,可以看到,我们的lookbook里的url多了batchId这个字段。其中_gnmrk如果不为空(null),则generate不会对其操作。
file

fetch

fetch是真正意义上的爬取。fetch可以跟两参数5个参数,而跟循环有关的,是主要的2个,一个是batchId,一个是crawlId。fetch是对名为crawlId的collection的被标记了batchId的url进行爬取。因为之前已经指定了crawlId,batchId,所以我们要输入 diyibo -crawlId lookbook。可以看到一个很大的字段content,他是我们爬取的主要内容。

file

pars

pars是解析。pars跟fatch一样,主要是2个参数,一个是batchId,一个是crawlId。pars是对名为crawlId的collection的被标记了batchId的url进行解析。我们也要输入 diyibo -crawlId lookbook。之后我们就可以在字段text中看到我们解析出来的文本,outlink中是我们解析出来的链接。

file

update

update是上传。update也是一样,主要是2个参数,一个是batchId,一个是crawlId。update是对名为crawlId的collection的被标记了batchId的url的outlink进行上传。为下一次循环做准备。

file

index

建立索引,主要是为了后期的应用,这里就不详细介绍了

成为第一个点赞的人吧 :bowtie:
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter