摘要: nutch網(wǎng)上有不少有它的源碼解析,但是采集這塊還是不太讓人容易理解.今天終于知道怎么,弄的.現(xiàn)在把crawl-urlfilter.txt文件貼出來,讓大家一塊交流,也給自己備忘錄一個(gè)。 閱讀全文
posted @ 2010-04-30 10:12 泰仔在線 閱讀(3396) | 評(píng)論 (0) 編輯 |
posts - 100, comments - 34, trackbacks - 0, articles - 0 |
||
云計(jì)算相關(guān)云計(jì)算相關(guān) 摘要: nutch網(wǎng)上有不少有它的源碼解析,但是采集這塊還是不太讓人容易理解.今天終于知道怎么,弄的.現(xiàn)在把crawl-urlfilter.txt文件貼出來,讓大家一塊交流,也給自己備忘錄一個(gè)。 閱讀全文
posted @ 2010-04-30 10:12 泰仔在線 閱讀(3396) | 評(píng)論 (0) 編輯 | 摘要: 解決搜索動(dòng)態(tài)內(nèi)容的問題:
需要注意在conf下面的2個(gè)文件:regex-urlfilter.txt,crawl-urlfilter.txt # skip URLs containing certain characters as probable queries, etc. -[?*!@=] (-改+) 這段意思是跳過在連接中存在? * ! @ = 的頁(yè)面,因?yàn)槟J(rèn)是跳過所以,在動(dòng)態(tài)頁(yè)中存在?一般按照默認(rèn)的是不能抓取到的。可以在上面2個(gè)文件中都修改成: # skip URLs containing certain characters as probable queries, etc. # -[?*!@=] 另外增加允許的一行 # accept URLs containing certain characters as probable queries, etc. +[?=&] 意思是抓取時(shí)候允許抓取連接中帶 ? = & 這三個(gè)符號(hào)的連接 注意:兩個(gè)文件都需要修改,因?yàn)镹UTCH加載規(guī)則的順序是cr 閱讀全文 posted @ 2010-04-24 19:06 泰仔在線 閱讀(2215) | 評(píng)論 (1) 編輯 | 摘要: 今天主要研究了Nutch中的html頁(yè)面的解析問題,因?yàn)槲业娜蝿?wù)是從頁(yè)面中提取特定的文本,因此首先要找到Nutch如何將html中的文本提取出來。Nutch提供了兩種html解析器,nekohtml和tagsoup,我采用了neko的解析器,在看了代碼后,發(fā)現(xiàn)其提取文本的方法在org.apache.nutch.parse.html中的DOMContentUtils文件中,主要的函數(shù)是getTextHelper。 閱讀全文
posted @ 2010-04-23 17:38 泰仔在線 閱讀(3084) | 評(píng)論 (1) 編輯 | 摘要: 今天主要解決了Nutch中的一些小的問題,下面分別簡(jiǎn)述一下。
1.網(wǎng)頁(yè)快照亂碼問題 Nutch的網(wǎng)頁(yè)快照是亂碼,解決辦法是修改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 泰仔在線 閱讀(440) | 評(píng)論 (0) 編輯 | 摘要: 當(dāng)某個(gè)插件需要被加載時(shí), Nutch 會(huì)加載所有插件的相關(guān)接口到緩存,此后每個(gè)插件需要實(shí)例的時(shí)候,根據(jù)相關(guān)接口和相關(guān)接口實(shí)現(xiàn)實(shí)例在緩存內(nèi)的記錄,使用反射實(shí)現(xiàn)一個(gè)實(shí)例并返回,下面以 QueryFilter 的所有插件被加載例子進(jìn)行說明。 閱讀全文
posted @ 2010-04-23 11:30 泰仔在線 閱讀(491) | 評(píng)論 (0) 編輯 | 摘要: 主要類分析:
一、 org.apache.nutch.crawl.Injector: 1,注入url.txt 2,url標(biāo)準(zhǔn)化 3,攔截url,進(jìn)行正則校驗(yàn)(regex-urlfilter.txt) 4,對(duì)符URL標(biāo)準(zhǔn)的url進(jìn)行map對(duì)構(gòu)造 5,reduce只做一件事,判斷url是不是在crawldb中已經(jīng)存在,如果存在則直接讀取原來CrawlDatum,如果是新host,則把相應(yīng)狀態(tài)存儲(chǔ)到里邊(STATUS_DB_UNFETCHED(狀態(tài)意思為沒有采集過)) 二、org.apache.nutch.crawl.Generator: 閱讀全文 posted @ 2010-04-23 11:05 泰仔在線 閱讀(1064) | 評(píng)論 (0) 編輯 | 摘要: 讀者是沒有耐心的,我也沒有,所以先說結(jié)論:你可以不用編程序,只要鼠標(biāo)點(diǎn)幾下拖動(dòng)些圖標(biāo),改改參數(shù),就能完成過億數(shù)據(jù)的分布處理程序。
當(dāng)然,這么理想的目標(biāo)現(xiàn)在還沒有達(dá)到,但路已經(jīng)明明白白的展現(xiàn)在面前了,至少我們已經(jīng)走了接近一半了。 閱讀全文 posted @ 2010-04-21 11:41 泰仔在線 閱讀(801) | 評(píng)論 (0) 編輯 | 摘要: 1. 介紹
MapReduce是google發(fā)明的一種編程模型。在這種編程模型下,用戶通過定義一個(gè)map函數(shù)和一個(gè)reduce函數(shù)來解決問題。map函數(shù)對(duì)用戶輸入的鍵/值對(duì)(key/value pair)進(jìn)行處理(處理時(shí)可能只有值這一項(xiàng)有用),生成一系列新的鍵/值對(duì)作為中間結(jié)果;系統(tǒng)(MapReduce的實(shí)現(xiàn))對(duì)map函數(shù)生成的鍵/值對(duì)進(jìn)行處理,將同屬于一個(gè)鍵(key)的值(value)組合在一起,生成鍵/值列表((key/list of values) pair)對(duì);reduce函數(shù)將鍵/值列表對(duì)作為輸入,對(duì)同屬于一個(gè)鍵的值列表進(jìn)行處理,生成最終處理結(jié)果輸出。 如果一個(gè)問題可以通過MapReduce編程模型來表達(dá)和解決,就可以通過MapReduce系統(tǒng)自動(dòng)獲得并行執(zhí)行能力。程序員不需要有并行程序設(shè)計(jì)的經(jīng)驗(yàn),只需要定義map和reduce函數(shù)。 閱讀全文 posted @ 2010-04-21 11:29 泰仔在線 閱讀(1583) | 評(píng)論 (0) 編輯 |
|
||