关于学习非结构化数据转换为结构化数据的学习心得

---恢复内容开始---

参考文献:

万里鹏. 非结构化到结构化数据转换的研究与实现[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,即Java和com组件间的桥梁.com一般表现为dll或exe等二进制文件,像我们一会将用到的jacob-1.14.3-x64.dll文件。

   2.通过maven的pom.xml文件依赖第三方Jacob.jar包:

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

 

 

net.sf.jacob-project

 

jacob

 

1.14.3

 

 

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

结合自己研究的方向,主要将目光聚焦于如何处理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包引入。

如果你对编程感兴趣或者想往编程方向发展,可以关注微信公众号【筑梦编程】,大家一起交流讨论!小编也会每天定时更新既有趣又有用的编程知识!
 

你可能感兴趣的:(编程语言,数据结构)