Nutch读取网页字段
Nutch的输出文件(不包括临时文件)主要可分为crawldb、index、indexs、linkdb和segments。
Crawldb
<wbr><wbr><wbr><wbr><wbr><wbr><wbr>Crawldb</wbr></wbr></wbr></wbr></wbr></wbr></wbr>是所有需要抓取的超连接信息
(另说:存放下载的URL,及下载的日期,用来页面更新检查时间)
<wbr></wbr>
Segments
① / ② crawldb/ linkdb : web link 目录,存放 url 及 url 的互联关系,作为爬行与重新爬行的依据,页面默认 30 天过期 (可以在 nutch-site.xml 中配置)
③ segments : 一存放抓取的页面,与上面链接深度 depth 相关, depth 设为 2 则在 segments 下生成两个以时间命名的子文件夹,比如 ” 20061014163012” ,打开此文件夹可以看到,它下面还有 6 个子文件夹,分别是
(来自apache<wbr><wbr><a target="_blank" rel="nofollow" href="http://lucene.apache.org/nutch/tutorial8.html" style="color:rgb(51,102,153); text-decoration:none">http://lucene.apache.org/nutch/tutorial8.html</a><wbr>):</wbr></wbr></wbr>
crawl_generate : names a set of urls to be fetched
crawl_fetch : contains the status of fetching each url
content : contains the content of each url
parse_text : contains the parsed text of each url
parse_da<wbr>ta : contains outlinks and metadata parsed from each url</wbr>
crawl_parse : contains the outlink urls, used to update the crawldb
④ indexes : 索引目录,我运行时生成了一个 ” part-00000” 的文件夹,
⑤ index : lucene 的索引目录(使用 luke 工具查看 ),是 indexs 里所有 index 合并后的完整索引,注意索引文件只对页面内容进行索引,没有进行存储,因此查询时要去访问 segments 目录才能获得页面内容
Segments是每轮抓取的时候根据crawldb生成的。存放的信息包括6种content、crawl_fetch、crawl_generate、crawl_parse、parse_da<wbr style="line-height:28px">ta、parse_text。其中<span style="line-height:28px">content是抓取下来的网页内容</span>;<span style="line-height:28px">crawl_generate</span>最初生成(<span style="line-height:28px">待下载URL集合</span>);<span style="line-height:28px">crawl_fetch(每个下载URL的状态)</span>、content在抓取时生成;<span style="line-height:28px">crawl_parse(包含用来更新crawldb的外链)</span>、parse_da<wbr style="line-height:28px">ta、parse_text在解析抓取的数据文件时生成。其中crawl_generate、crawl_fetch和crawl_parse是crawldb的部分url数据,它们格式一样,不同的是抓取时间、状态、签名等有所变化。格式如下:</wbr></wbr>
////////////////////crawl_generate、crawl_fetch、crawl_parse、crawldb的格式//////////////
http://www.163.com/<wbr><wbr><wbr><wbr><wbr>Version: 4</wbr></wbr></wbr></wbr></wbr>
Status: 5 (fetch_success)
Fetch time: Thu Oct 26 19:20:33 CST 2006
Modified time: Thu Jan 01 08:00:00 CST 1970
Retries since fetch: 0
Retry interval: 30.0 days
Score: 1.0
Signature: 3029c621e26c43797241a8d3<wbr>4980b2dc</wbr>
Metadata: null
parse_da<wbr>ta</wbr>的格式如下: (主要是每个URL解析出的外部链接和元数据)
outlink: toUrl: http://cha.so.163.com/so.php?key=001001006&q=???<wbr><wbr></wbr></wbr>anchor:<wbr></wbr>手机
Content Metadata: nutch.crawl.score=1.0 nutch.content.digest=3029c621e26c43797241a8d3<wbr>4980b2dc Content-Type=text/html;</wbr>
charset=GB2312 date=Thu, 26 Oct 2006 11:20:33 GMT Cache-Control=max-age=146
Content-Encoding=gzip Content-Length=19628 Connection=close Expires=Thu, 26
Oct 2006 11:23:00 GMT nutch.segment.name=20061026192026 Accept-Ranges=bytes
Server=Apache/2.0.55 (Unix) X-Cache=HITfrom www.163.com Vary=Accept-Encoding
Parse Metadata: OriginalCharEncoding=GB2312 CharEncodingForConversio<wbr>n=GB2312</wbr>
parse_text是网页的文本信息。
Index
据初步分析index由indexs合并而来的,存放的是索引信息。在非分布式搜索时优先根据查找index文件夹,如果不存在则查找indexs。Indexes:存放每次下载的独立索引目录
<wbr></wbr>
Linkdb
Linkdb中存放的是所有超连接及其每个连接的连入地址和锚文本。读取出来的格式如下:
<wbr><img alt="" src="" style="border:0px; max-width:100%"></wbr>