通常在使用爬虫时,爬取到网上的文章都是各式各样的格式处理起来比较麻烦,这里我们使用Apache-Tika来处理Word格式的文章,如下:
package com.mengyao.tika.app; import java.io.File; import java.io.FileInputStream; import org.apache.tika.metadata.Metadata; import org.apache.tika.parser.ParseContext; import org.apache.tika.parser.Parser; import org.apache.tika.parser.microsoft.OfficeParser; import org.apache.tika.sax.BodyContentHandler; public class WordApp { public static void main(final String[] args) throws Exception { // Tika默认是10*1024*1024,这里防止文件过大导致Tika报错 BodyContentHandler handler = new BodyContentHandler(1024 * 1024 * 10); Metadata metadata = new Metadata(); // Tika-1.1最高支持2007及更低版本的Office Word文档,如果是高于2007版本的Word文档需要使用POI处理(Tika会报错) FileInputStream inputstream = new FileInputStream(new File("D:/笔试题.doc")); ParseContext pcontext = new ParseContext(); // 解析Word文档时应由超类AbstractParser的派生类OfficeParser实现 Parser msofficeparser = new OfficeParser(); msofficeparser.parse(inputstream, handler, metadata, pcontext); // 获取Word文档的内容 System.out.println("Word文档内容:" + handler.toString()); // 获取Word文档的元数据 System.out.println("Word文档元数据:"); String[] metadataNames = metadata.names(); for (String name : metadataNames) { System.out.println(name + " : " + metadata.get(name)); } } }