在地图提取Nutch的撷取的网页,借此降低友好的格式(Extracting Fetched Web

2019-07-28 21:51发布

在分布式(部署)模式的Nutch的抓取后如下:

bin/nutch crawl s3n://..... -depth 10 -topN 50000 -dir /crawl -threads 20 

我需要提取每个URL获取沿着地图缩小友好的格式与它的内容。 通过使用下面的命令readseg,其内容被取出但输出格式本身不适合于被地图降低。

bin/nutch readseg -dump /crawl/segments/*  /output  -nogenerate -noparse -noparsedata -noparsetext

理想情况下,输出应为以下格式:

http://abc.com/1     content of http://abc.com/1
http://abc.com/2     content of http://abc.com/2

任何建议如何实现这一目标?

Answer 1:

所述bin/nutch readseg命令产生以人可读的格式输出,并且不降低映射格式。 该数据被存储在地图,减少格式段。 我不认为你可以直接拔出从地图,减少格式链段该信息。

你的关心几个选项:

  1. 段本身映射简化格式的文件。 你能重新使用那些?
  2. 的输出readseg命令可以被转换通过编写一个小地图,减少码映射-降低形式。


Answer 2:

答案在于调整Nutch的源代码。 事实证明,这是非常简单的。 导航到SegmentReader.java文件在apache-nutch-1.4-bin/src/java/org/apache/nutch/segment

内部的SegmentReader类是这样的方法reduce其是负责产生人类可读输出的bin/nutch readseg命令生成。 改变StringBuffer dump变量,你认为合适的-这对于它是由代表一个给定的URL的整个输出key变量。

请确保您运行ant创建一个新的二进制进一步的调用bin/nutch readseg应产生在你的自定义格式的输出。

这些引用的导航代码都非常有用:
[1] http://nutch.apache.org/apidocs-1.4/overview-summary.html
[2] http://nutch.apache.org/apidocs-1.3/index-all.html



文章来源: Extracting Fetched Web Pages from Nutch in a Map Reduce Friendly Format