2009-04-28 67 views
3

我正在嘗試爲nutch 1.0編寫一個自定義插件。這個插件應該解析html數據並從文檔中濾除相關信息。我有一個基本的插件工作,它擴展了HtmlParserResult對象,並在每次執行解析時執行。用nutch 1.0和自定義插件解析html數據

我的問題是兩個面臨此刻:

  1. 我不明白Nutch的解析不夠好,工作流程/ pipline。我在nutch網站上找不到關於此的信息。

  2. 我不明白DOM解析是如何完成的,我看到Nutch有一組DOM對象,並且HtmlParser插件做了一些DOM解析,但我還沒有想出如何做到最好。

回答

1

我記得爲過去的工作制作了一個nutch HTML解析插件。我無法得到我是如何做到的,但這裏有一些基本點。我們要做到以下幾點:

  1. 解析HTML頁面,但有條件使用H1標籤或標籤與某一類的頁面標題,而不是實際的// HTML /頭/標題
  2. 有一些有時在頁面上的特殊數據片段(即選擇了哪個標籤,這會告訴我們這是零售客戶,銀行客戶還是公司客戶)。

我所做的只是找到HTML的解析插件類(我無法找到實際的類名),並擴展它。然後重寫解析函數。新函數應該調用super函數,然後可以遍歷DOM樹來查找要查找的特殊數據。在我的情況下,我會尋找更好的標題,然後覆蓋super函數提出的值。

對於第二個問題,我不清楚你在問什麼。我認爲你問的是什麼時,DOM不正常形成?我只想深入研究nutch代碼(http://grepcode.com/snapshot/repo1.maven.org/maven2/org.apache.nutch/nutch/1.3/),並瞭解解析是如何完成的(我是確定他們使用庫來做到這一點)。那應該告訴你更多關於事情是否貪婪的事情,或者是什麼。

霍勒如果您有任何疑問。