做什麼?
1. 做“爬”,對Nutch的inject、generate、fetch、parse、updatedb這個閉環爬取流程進行封裝,採用拖拽式流程定義可視化監控提高易用性。
2. 做“內容解析”,將非結構化的網頁內容解析成結構化,提取方式適用性要廣,適合不同類型的網頁。
3. 做“內容過濾”,可按照字段過濾,採用規則引擎實現複雜的內容過濾。
不做什麼?
1. 不做“全文檢索”,Nutch IndexWriter系列插件不做集成和擴展,不支持與Solr的集成。
2. 不做“索引去重”
3. 不嘗試解決所有類型MIME的解析
尚未實現的
1. 對錶格內容的解析,有如下複雜性需要考慮——實現表格的方式多樣,<table>標籤實現的解析難度不大,css+div實現的表格難度大一些,可以嘗試採用:
a) “內嵌css解析器”+“圖像識別”的方式,網頁內容轉化成圖片,使用機器學習識別出哪部分最可能是“表格”,然後再提取表格部分的dom節點。
b) 自學習方式,採集大量的網頁人工標註,然後訓練分類器。
2. 網頁中嵌入瀏覽器(可考慮ActiveX/Applet),採用框選式的選取dom節點,定義解析規則。