Apache Tika文件解析練習

目錄

1.實驗內(nèi)容
2.實驗環(huán)境
3.實驗過程
1)啟用Apache Tika
2)使用Tika解析docx文件
3)使用Tika解析網(wǎng)頁
4)使用Tika解析XML和RDF文件
5)使用Tika解析FOAF(RDF)文件
4.總結(jié)

實驗內(nèi)容:

了解使用文件解析工具Tika進行文件解析,生成文件的代替文件——文件元數(shù)據(jù)。Tika能夠解析多種文件格式,并能自動識別語言。

實驗環(huán)境:

操作系統(tǒng):Windows 8.1
Java環(huán)境:


Java環(huán)境.png

實驗工具:

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

實驗工具.png

實驗過程:

(1)使用命令行打開Tika GUI界面
Tika-GUI.png
(2)創(chuàng)建doc文件,并使用Tika解析
示例文件.png
(3)解析結(jié)果解讀

1.Matadata:解析結(jié)果生成的元數(shù)據(jù)主要為管理性元數(shù)據(jù),內(nèi)容主要為文件的外部特征,如:創(chuàng)建日期、修改日期、應用名、文件格式、文件名等,以及文件的字數(shù)、行數(shù)、頁數(shù)等量化指標。

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標簽格式的結(jié)構(gòu)化文件,以上元數(shù)據(jù)信息,添加在標簽<matadata>中,源文件的文字信息置于標簽<boby>下的標簽<p>中。


StructureText.png

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


RecursiveJSON.png

4.Main content:空。


Maincontent.png
(4)使用Tika解析網(wǎng)頁:

IBM Opensource 社區(qū):https://www.ibm.com/developerworks/cn/opensource/tutorials/os-apache-tika/index.html
解析結(jié)果:
1.Matadata:Tika對網(wǎng)頁的解析,生成的元數(shù)據(jù)大部分為描述性元數(shù)據(jù),如:keywords、title、description等。

網(wǎng)頁解析結(jié)果.png

2.Main content:
通過查看網(wǎng)頁源代碼,發(fā)現(xiàn)Tika所提取到的Main content內(nèi)容是網(wǎng)頁注釋:

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

之間的內(nèi)容。Tika對網(wǎng)頁的Main content進行了有選擇的提取。

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

發(fā)現(xiàn)Tika可以提取到標簽之間的文本內(nèi)容。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文件中的文本內(nèi)容。

總結(jié):

由以上解析結(jié)果可知,Tika可以比較方便的提取到文件中的文本?!?Tika 的解析器都必須能夠?qū)崿F(xiàn)從某個它能解析的文件類型提取文本的基本功能。文本內(nèi)容很有用,因為它可以被發(fā)送至搜索引擎,在內(nèi)容管理系統(tǒng)內(nèi)被索引以及用來顯示針對特定內(nèi)容塊的總結(jié)性信息。”——引自IBMOpen source社區(qū)

Tika解析網(wǎng)頁,能夠以元數(shù)據(jù)形式呈現(xiàn)網(wǎng)頁內(nèi)容,在某種程度上解析效率相比一般文件而言更高。

Tika的主要功能是Text extraction,在XML、RDF此類結(jié)構(gòu)化文檔的解析上,沒有顯著優(yōu)勢。解析結(jié)構(gòu)化文檔有其他專門的解析引擎。

可以在Java項目中導入Tika,通過編程實現(xiàn)文件解析的批處理。由于本機eclipse版本號與Java JDK版本號不匹配,本次實驗未能成功實現(xiàn)上述功能。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評論 19 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,034評論 25 709
  • 作者:李白 朝代:唐 其一 金樽(zūn)清酒斗十千,玉盤珍饈(xiū)直萬錢。 停杯投箸(zhù)不能食,拔劍四...
    唯一念想閱讀 1,166評論 2 0
  • 好想拉住青春尾巴!組建三五成員團隊,為己所想干一場。能嗎?途窮、路末也不悔。
    抱歉舊報紙閱讀 214評論 0 0

友情鏈接更多精彩內(nèi)容