泰仔在线

java学习,心情日记,缤纷时刻
posts - 100, comments - 34, trackbacks - 0, articles - 0

云计算相关

云计算相关
     摘要: nutch网上有不少有它的源码解析,但是采集这块还是不太让人容易理解.今天终于知道怎么,弄的.现在把crawl-urlfilter.txt文件贴出来,让大家一块交流,也给自己备忘录一个。  阅读全文

posted @ 2010-04-30 10:12 泰仔在线 阅读(3381) | 评论 (0)  编辑 |

     摘要: 解决搜索动态内容的问题:
需要注意在conf下面的2个文件:regex-urlfilter.txt,crawl-urlfilter.txt
# skip URLs containing certain characters as probable queries, etc.
-[?*!@=] (-改+)
这段意思是跳过在连接中存在? * ! @ = 的页面,因为默认是跳过所以,在动态页中存在?一般按照默认的是不能抓取到的。可以在上面2个文件中都修改成:
# skip URLs containing certain characters as probable queries, etc.
# -[?*!@=]
另外增加允许的一行
# accept URLs containing certain characters as probable queries, etc.
+[?=&]
意思是抓取时候允许抓取连接中带 ? = & 这三个符号的连接
注意:两个文件都需要修改,因为NUTCH加载规则的顺序是cr  阅读全文

posted @ 2010-04-24 19:06 泰仔在线 阅读(2202) | 评论 (1)  编辑 |

     摘要: 今天主要研究了Nutch中的html页面的解析问题,因为我的任务是从页面中提取特定的文本,因此首先要找到Nutch如何将html中的文本提取出来。Nutch提供了两种html解析器,nekohtml和tagsoup,我采用了neko的解析器,在看了代码后,发现其提取文本的方法在org.apache.nutch.parse.html中的DOMContentUtils文件中,主要的函数是getTextHelper。  阅读全文

posted @ 2010-04-23 17:38 泰仔在线 阅读(3066) | 评论 (1)  编辑 |

     摘要: 今天主要解决了Nutch中的一些小的问题,下面分别简述一下。

1.网页快照乱码问题

Nutch的网页快照是乱码,解决办法是修改tomcat/webapps/nutch目录下的cached.jsp文件,修改其中的第63行。

原来的代码是:content = new String(bean.getContent(details);

修改后的代码是:content = new String(bean.getContent(details),"gb2312");
  阅读全文

posted @ 2010-04-23 17:36 泰仔在线 阅读(429) | 评论 (0)  编辑 |

     摘要: 当某个插件需要被加载时, Nutch 会加载所有插件的相关接口到缓存,此后每个插件需要实例的时候,根据相关接口和相关接口实现实例在缓存内的记录,使用反射实现一个实例并返回,下面以 QueryFilter 的所有插件被加载例子进行说明。  阅读全文

posted @ 2010-04-23 11:30 泰仔在线 阅读(481) | 评论 (0)  编辑 |

     摘要: 主要类分析:
一、 org.apache.nutch.crawl.Injector:
1,注入url.txt
2,url标准化
3,拦截url,进行正则校验(regex-urlfilter.txt)
4,对符URL标准的url进行map对构造,在构造过程中给CrawlDatum初始化得分,分数可影响url host的搜索排序,和采集优先级!
5,reduce只做一件事,判断url是不是在crawldb中已经存在,如果存在则直接读取原来CrawlDatum,如果是新host,则把相应状态存储到里边(STATUS_DB_UNFETCHED(状态意思为没有采集过))

二、org.apache.nutch.crawl.Generator:   阅读全文

posted @ 2010-04-23 11:05 泰仔在线 阅读(1044) | 评论 (0)  编辑 |

     摘要: 读者是没有耐心的,我也没有,所以先说结论:你可以不用编程序,只要鼠标点几下拖动些图标,改改参数,就能完成过亿数据的分布处理程序。

当然,这么理想的目标现在还没有达到,但路已经明明白白的展现在面前了,至少我们已经走了接近一半了。  阅读全文

posted @ 2010-04-21 11:41 泰仔在线 阅读(792) | 评论 (0)  编辑 |

     摘要: 1. 介绍
MapReduce是google发明的一种编程模型。在这种编程模型下,用户通过定义一个map函数和一个reduce函数来解决问题。map函数对用户输入的键/值对(key/value pair)进行处理(处理时可能只有值这一项有用),生成一系列新的键/值对作为中间结果;系统(MapReduce的实现)对map函数生成的键/值对进行处理,将同属于一个键(key)的值(value)组合在一起,生成键/值列表((key/list of values) pair)对;reduce函数将键/值列表对作为输入,对同属于一个键的值列表进行处理,生成最终处理结果输出。

如果一个问题可以通过MapReduce编程模型来表达和解决,就可以通过MapReduce系统自动获得并行执行能力。程序员不需要有并行程序设计的经验,只需要定义map和reduce函数。  阅读全文

posted @ 2010-04-21 11:29 泰仔在线 阅读(1570) | 评论 (0)  编辑 |