關於學習非結構化數據轉換為結構化數據的學習心得


---恢復內容開始---

參考文獻:

萬里鵬. 非結構化到結構化數據轉換的研究與實現[D]. 西南交通大學, 2013.
 
 
文中提到了一種方法:非結構化數據(通過提取有關的元數據)——>xml文檔(根據約束條件)——>結構化數據
通過這樣的方式來使得數據從非結構化到結構化。
 
如何提取有關的元數據呢?
一般采用了文件模板的方式,即把文件分為(1)文件字段名(2)字段類型(3)索引 以及更多的類型,這里的類型就依據所需要處理的屬性具體划分,而文件模板的主要作用就是用於創建數據表,從而使得其原始數據能夠結構更加清晰。
文件模板存放於系統模板庫中,這樣的話能夠重復利用。
 
文中提到的比較多的文件類型是PDF、Office文檔、文本數據以及HTML網頁。都是不具有通用性,只能根據某一種文件的某一個特征進行分析、轉換為xml。
(1)Word文檔用到了Jacob技術
(2)Excel文檔用到了Java Excel API技術
(3)HTML網頁需要用到Webharvest、htmlparser或者htmlclean
(4)圖片、圖像、音頻、視頻這類非文本的以二進制形式存儲的文件,則不能轉換為xml文檔
 
所提到的這些技術能夠支持非結構化數據到xml文檔的轉換。其實也可以換一種思路理解,xml是一個承載數據轉化的中間過程,最終的數據是以結構化的形式存儲在關系數據庫中的。

 1.首先,先要了解一下jacob.官方的解釋是JavaCOM Bridge,即Javacom組件間的橋梁.com一般表現為dllexe等二進制文件,像我們一會將用到的jacob-1.14.3-x64.dll文件

   2.通過mavenpom.xml文件依賴第三方Jacob.jar:

https://mvnrepository.com/artifact/net.sf.jacob-project/jacob

 

<dependency>

 

<groupId>net.sf.jacob-project</groupId>

 

<artifactId>jacob</artifactId>

 

<version>1.14.3</version>

 

</dependency>

 

————————————————————————————————————————————————————————————————————————

結合自己研究的方向,主要將目光聚焦於如何處理html網頁的日志文檔,而處理html網頁需要用的技術也是調用相應的包。

Web-Harvest 是一個用Java 寫的開源的Web 數據提取工具。它提供了一種從所需的頁面上提取有用數據的方法。為了達到這個目的,你可能需要用到如XSLT,XQuery,和正則表達式等操作text/xml 的相關技術。Web-Harvest 主要着眼於目前仍占大多數的基於HMLT/XML 的頁面內容。另一方面,它也能通過寫自己的Java 方法來輕易擴展其提取能力。

    Web-Harvest 的主要目的是加強現有數據提取技術的應用。它的目標不是創造一種新方法,而是提供一種更好地使用和組合現有方法的方式。它提供了一個處理器集用於處理數據和控制流程,每一個處理器被看作是一個函數,它擁有參數和執行后同樣有結果返回。而且處理是被組合成一個管道的形式,這樣使得它們可以以鏈式的形式來執行,此外為了更易於數據操作和重用,Web-Harvest 還提供了變量上下方用於存儲已經聲明的變量。
 
    web-harvest 啟動,可以直接雙擊jar包運行,不過該方法不能指定web-harvest java虛擬機的大小。第二種方法,在cmd下切到web-harvest的目錄下,敲入命令“java -jar -Xms400m webharvest_all_2.jar” 即可啟動並設置起java虛擬機大小為400M。
 
采用
import org.webharvest.definition.ScraperConfiguration;
import org.webharvest.runtime.Scraper;
這樣的方式,將jar包引入。
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM