Apache Tika文件解析练习

目录

1.实验内容
2.实验环境
3.实验过程
1)启用Apache Tika
2)使用Tika解析docx文件
3)使用Tika解析网页
4)使用Tika解析XML和RDF文件
5)使用Tika解析FOAF(RDF)文件
4.总结

实验内容:

了解使用文件解析工具Tika进行文件解析,生成文件的代替文件——文件元数据。Tika能够解析多种文件格式,并能自动识别语言。

实验环境:

操作系统:Windows 8.1
Java环境:


Java环境.png

实验工具:

Apache Tika下载地址:http://tika.apache.org/download.html

实验工具.png

实验过程:

(1)使用命令行打开Tika GUI界面
Tika-GUI.png
(2)创建doc文件,并使用Tika解析
示例文件.png
(3)解析结果解读

1.Matadata:解析结果生成的元数据主要为管理性元数据,内容主要为文件的外部特征,如:创建日期、修改日期、应用名、文件格式、文件名等,以及文件的字数、行数、页数等量化指标。

Application-Name: Microsoft Office Word
Application-Version: 14.0000
Author: lenovo
Character Count: 123
Character-Count-With-Spaces: 143
Content-Length: 13282
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document
Creation-Date: 2018-05-28T13:47:00Z
Last-Author: lenovo
Last-Modified: 2018-05-28T13:51:00Z
Last-Save-Date: 2018-05-28T13:51:00Z
Line-Count: 1
Page-Count: 1
Paragraph-Count: 1
Revision-Number: 2
Template: Normal
Total-Time: 4
Word-Count: 21
X-Parsed-By: org.apache.tika.parser.DefaultParser
X-Parsed-By: org.apache.tika.parser.microsoft.ooxml.OOXMLParser
X-TIKA:digest:MD5: cbe65201aee05621b8e210667d4b02d7
X-TIKA:digest:SHA256: 48d75a6663e3ec7599bc385ba57919cc1224e3d063cfaa18b53f0e6970d0cbd1
cp:revision: 2
creator: lenovo
date: 2018-05-28T13:51:00Z
dc:creator: lenovo
dc:publisher:
dcterms:created: 2018-05-28T13:47:00Z
dcterms:modified: 2018-05-28T13:51:00Z
extended-properties:AppVersion: 14.0000
extended-properties:Application: Microsoft Office Word
extended-properties:Company:
extended-properties:Template: Normal
extended-properties:TotalTime: 4
meta:author: lenovo
meta:character-count: 123
meta:character-count-with-spaces: 143
meta:creation-date: 2018-05-28T13:47:00Z
meta:last-author: lenovo
meta:line-count: 1
meta:page-count: 1
meta:paragraph-count: 1
meta:save-date: 2018-05-28T13:51:00Z
meta:word-count: 21
modified: 2018-05-28T13:51:00Z
publisher:
resourceName: 测试文件.docx
xmpTPg:NPages: 1

2.Structure text:主要生成html标签格式的结构化文件,以上元数据信息,添加在标签<matadata>中,源文件的文字信息置于标签<boby>下的标签<p>中。


StructureText.png

3.Recursive JSON:较标签格式而言,将文件解析成了json格式,保留了源文件的文字信息,在"X-TIKA:content"字段中。


RecursiveJSON.png

4.Main content:空。


Maincontent.png
(4)使用Tika解析网页:

IBM Opensource 社区:https://www.ibm.com/developerworks/cn/opensource/tutorials/os-apache-tika/index.html
解析结果:
1.Matadata:Tika对网页的解析,生成的元数据大部分为描述性元数据,如:keywords、title、description等。

网页解析结果.png

2.Main content:
通过查看网页源代码,发现Tika所提取到的Main content内容是网页注释:

<!-- CENTER_6_4_CONTENT_COLUMN_BEGIN -->
<!-- CENTER_6_4_CONTENT_COLUMN_END -->

之间的内容。Tika对网页的Main content进行了有选择的提取。

(5)使用Tika解析一般RDF文件与XML文件:

发现Tika可以提取到标签之间的文本内容。Main content依旧为空。
books.xml:

<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <genre>Computer</genre>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
      <description>An in-depth look at creating applications
      with XML.</description>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <genre>Fantasy</genre>
      <price>5.95</price>
      <publish_date>2000-12-16</publish_date>
      <description>A former architect battles corporate zombies,
      an evil sorceress, and her own childhood to become queen
      of the world.</description>
   </book>
</catalog>

person.rdf:

 <?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="[http://www.w3.org/1999/02/22-rdf-syntax-ns#](http://www.w3.org/1999/02/22-rdf-syntax-ns#)"
xmlns:cd="[http://www.recshop.fake/cd#](http://www.recshop.fake/cd#)">
<rdf:Description
rdf:about="[http://www.recshop.fake/cd/Empire](http://www.recshop.fake/cd/Empire) Burlesque">
  <cd:artist>Bob Dylan</cd:artist>
  <cd:country>USA</cd:country>
  <cd:company>Columbia</cd:company>
  <cd:price>10.90</cd:price>
  <cd:year>1985</cd:year>
</rdf:Description>
<rdf:Description
rdf:about="[http://www.recshop.fake/cd/Hide](http://www.recshop.fake/cd/Hide) your heart">
  <cd:artist>Bonnie Tyler</cd:artist>
  <cd:country>UK</cd:country>
  <cd:company>CBS Records</cd:company>
  <cd:price>9.90</cd:price>
  <cd:year>1988</cd:year>
</rdf:Description>
</rdf:RDF>
(6)使用Tika解析foaf文件,文件格式为.rdf:

报错:

Image [11].png

分析原因可能是因为Tika无法正常识别foaf标签,因此无法提取到FOAF文件中的文本内容。

总结:

由以上解析结果可知,Tika可以比较方便的提取到文件中的文本。“ Tika 的解析器都必须能够实现从某个它能解析的文件类型提取文本的基本功能。文本内容很有用,因为它可以被发送至搜索引擎,在内容管理系统内被索引以及用来显示针对特定内容块的总结性信息。”——引自IBMOpen source社区

Tika解析网页,能够以元数据形式呈现网页内容,在某种程度上解析效率相比一般文件而言更高。

Tika的主要功能是Text extraction,在XML、RDF此类结构化文档的解析上,没有显著优势。解析结构化文档有其他专门的解析引擎。

可以在Java项目中导入Tika,通过编程实现文件解析的批处理。由于本机eclipse版本号与Java JDK版本号不匹配,本次实验未能成功实现上述功能。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,644评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,918评论 25 707
  • 作者:李白 朝代:唐 其一 金樽(zūn)清酒斗十千,玉盘珍馐(xiū)直万钱。 停杯投箸(zhù)不能食,拔剑四...
    唯一念想阅读 805评论 2 0
  • 好想拉住青春尾巴!组建三五成员团队,为己所想干一场。能吗?途穷、路末也不悔。
    抱歉旧报纸阅读 195评论 0 0