Apache Nutch步骤说明

use*_*214 5 apache nutch

我关注了以下文章:https : //wiki.apache.org/nutch/NutchTutorial并设置apache nutch + solr。但我想澄清一下我是否正确理解了螺帽步骤的工作。

1)。注入:在这一部分中,apache从给定的seed.txt中读取url列表,将url与regex-urlfiler regex进行比较,并使用支持的url更新crawldb。

2)。生成:bin / nutch生成crawl / crawldb爬网/段Nutch从crawldb中获取URL,并创建准备被提取的URL提取列表。它需要输入-topN和timegap等,然后使用段下的当前时间创建目录。

我相信,在前两个步骤中,没有与互联网进行交互。一切都在本地发生。

问:提取列表保存在哪里?

3)。抓取:bin / nutch抓取抓取/段/

获取运行fetchList并从给定的URL获取内容(和URL),并将其保存在某处。

问:获取是否读取URL的整个给定页面(文本+其他URL)?问:Nutch将获取的数据保存在哪里?

4)。解析:bin / nutch解析抓取/分段/

它解析条目。

问:这里的解析是什么意思?问:在哪里可以找到此步骤的结果?

5)。bin / nutch updateb爬网/ crawldb爬网/段/

完成此操作后,Nutch用获取的结果更新数据库。

问:是否仅使用已解析的数据或其他内容更新crawldb?

请清除我的怀疑。

小智 5

您对第一步和第二步的假设是正确的。但是,您需要了解整个工作流程是如何发生的。当Nutch提取url时,它会使用名为Content的类以二进制形式获取诸如网页数据或图像之类的数据,并将其作为爬网数据存储到segements中。

稍后,在解析步骤中,将存储的Content对象解析为另一种称为ParsedData的数据格式,该格式包括数据文本以及其出站(如果有)。将ParsedData放回Segements中,以在下一个作业批次中进行处理。在执行此步骤后,crawdbdb更新作业将在此之前的步骤中的链接放回到crawldb中,以更新页面排名和Web链接详细信息。

在索引步骤中,将来自分段的已解析数据的信息构造为字段。Nutch使用一个名为“ NutchDocument”的类来存储结构化数据。Nutch文档被放回段中,以在下一步中进行处理。最后,Nutch将Nutch文档发送到索引存储,例如Solr或Elasticsearch。这是最后一步,如果您不想再次将其发送到索引存储,则可以在此阶段删除这些段。换句话说,这是数据的跟随

种子列表->注入URL->爬网项目(简称URL)->目录->解析的数据->文本文档。

我希望能回答您的一些问题。