2017-04-09 75 views
0

我想開發一個抓取工具來抓取youtube.com並解析元信息(標題,描述,出版商等)並將其存儲到Hbase /其他存儲系統中。我明白我必須編寫插件來實現這一點。但我很困惑我需要爲此編寫哪些插件。我與這四檢查 -解析並存儲使用Apache Nutch

Parser 
ParserFilter 
Indexer 
IndexFilter 

要解析的YouTube頁面特殊元數據信息,我是否需要寫一個自定義的解析器插件或ParseFilter插件使用parse-html插件相處?

解析後,要將條目存儲在Hbase /其他存儲系統中,是否需要編寫IndexWriter插件?通過索引,我們通常會理解Solr,ElasticSearch等中的索引。但是我不需要在任何搜索引擎中明顯地進行索引。那麼,如何在解析後將它們存儲在某些商店中,並說Hbase呢?

在此先感謝!

回答

2

由於YouTube是一個網頁,你需要寫一個HtmlParseFilter它允許您訪問原始HTML從服務器獲得的,但目前的YouTube的JavaScript的執行JS很多,既不parse-htmlparse-tika支持代碼,所以我會建議你使用protocol-selenium插件,這樣你就可以將網頁的渲染委託給selenium驅動程序,並返回HTML(在執行完所有JS之後)。在你編寫自己的HtmlParseFilter之後,你需要編寫你自己的IndexingFilter,在這種情況下,你只需要指定你想發送到後端的信息,這完全是後端不可知的,並且僅依賴於Nutch代碼庫(這就是爲什麼你需要你自己的IndexWriter)。

我假設你正在使用Nutch 1.x,在這種情況下,你需要爲你的後端編寫一個自定義的IndexWriter(這很簡單)。如果你使用Nutch 2.x,你可以通過Apache Gora訪問幾個後端,但是你會缺少一些功能(比如protocol-selenium)。

+0

現在問題已經很老了,我已經做了你最近在這裏提出的建議。感謝您的詳細解答。 –

+1

對不起,延遲響應:) –

+0

嗨@JorgeLuis你能回答這個問題嗎? http://stackoverflow.com/questions/43993032/generate-only-unfetched-urls-instead-of-scored-nutch-2-3 –