我关注了以下文章: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)->目录->解析的数据->文本文档。
我希望能回答您的一些问题。
| 归档时间: |
|
| 查看次数: |
1422 次 |
| 最近记录: |