Nutch抓取数据分析

由于刚开始理解错误,以为搜索索引可以作为数据挖掘的输入信息,后面才发现错了,由solr/nutch/lucene形成的只是搜索索引,只要由用户提供查询关键字,然后就可以查到该关键字来自哪一篇文档,并不是一篇文档的文字列表信息,而挖掘是需要有整篇文档的文字列表(档中所有单词的集合),才能挖出其中的关联信息。

详细看了一下Nutch抓取数据后的文件:

Nutch的输出文件主要可分为crawldb、index、indexs、linkdb和segments。

Crawldb是所有需要抓取的超连接信息

(另说:存放下载的URL,及下载的日期,用来页面更新检查时间)

Linkdb中存放的是所有超连接及其每个连接的连入地址锚文本

segments : 一存放抓取的页面,与上面链接深度 depth 相关, depth 设为 2 则在 segments 下生成两个以时间命名的子文件夹,比如 "20110718114601"。Segments是每轮抓取的时候根据crawldb生成的。存放的信息包括6种content、crawl_fetch、crawl_generate、crawl_parse、parse_data、parse_text。其中content是抓取下来的网页内容crawl_generate最初生成(待下载URL集合);crawl_fetch(每个下载URL的状态)、content在抓取时生成;crawl_parse(包含用来更新crawldb的外链)、parse_data、parse_text在解析抓取的数据文件时生成。其中crawl_generate、crawl_fetch和crawl_parse是crawldb的部分url数据,它们格式一样,不同的是抓取时间、状态、签名等有所变化。

indexs:存放每次下载的独立索引目录,这个可以由Crawldb,Linkdb和segments来合成:bin/nutch index crawl/indexs crawl/crawldb crawl/linkdb crawl/segments/*

index:由indexs合并而来的,存放的是索引信息。(nutch的索引中没有存储内容,内容存在segments中,所以直接用lucene读取nutch生成的索引会有问题。Lucene 中的segment和Nutch中的不同,Lucene中的segment是索引index的一部分,但是Nutch中的segment只是WebDB中 各个部分网页的内容和索引,最后通过其生成的index跟这些segment已经毫无关系了。)

因为挖掘用到的不是索引文件,而是文档的解析单词列表,所以我们关注nutch是怎么解析网页的。一般网络爬虫抓取网页时会解析网页内容并将内容下载到本地保存,若能解析网页,自然解析pdf文档也不会有问题,nutch对富文本的解析是以插件的形式,所以只需要配置文件中加上该选项便可。关键问题是,如何去提取这些已经解析出来的文本呢?由于segments下的所有文件都是二进制文件,不知道如何转成我们可视的文本字符,nutch提供了命令来导出抓取数据以便查看,如为了得到linkdb中的内容,我们可

使用bin/nutch readlinkdb crawl/linkdb/ -dump linkdb(导出的地址),然后就会看到linkdb文件夹下有个part-00000,然后就可以以文本方式打开。关键是我们想得到的是parse_data和parse_text,而segments数据的导出是一个整体,bin/nutch readseg -dump crawl/segments/20110718114601segdb 导出segments,其中crawl/segments/20110718114601为一个segments文件夹,segdb为存放转换后的内容的文件夹,这样查看时,包括了segments文件夹下所有文件的信息,在网上找了半天,没找到可以直接操作parse文件的命令,有知道的大侠,还烦请转告!或者怎么用这个解析文件信息,有用过的,也请留言赐教!

在readseg命令后,加可选参数命令,-nocontent,这样就不会导出content,-noparsedata,这样就不会导出parse_data,有这样的命令后,便可只导出parse_text,即经过解析的文本,如网页content,即包含里面的标签元素,而parse_text,则是去除网页格式的文本信息

 

参考资料:

1.http://wenku.baidu.com/view/c6fd2f4c2e3f5727a5e962ce.html

2.http://blog.csdn.net/forwen/article/details/4804733

3.http://blog.163.com/bit_runner/blog/static/53242218201141393943980/

4.http://www.cnblogs.com/kwklover/articles/445928.html

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值