通常在使用爬虫时,爬取到网上的文章都是各式各样的格式处理起来比较麻烦,这里我们使用Apache-Tika来处理PDF格式的文章,如下:
1 package com.mengyao.tika.app; 2 3 import java.io.File; 4 import java.io.FileInputStream; 5 6 import org.apache.tika.metadata.Metadata; 7 import org.apache.tika.parser.ParseContext; 8 import org.apache.tika.parser.pdf.PDFParser; 9 import org.apache.tika.sax.BodyContentHandler; 10 11 public class PDFApp { 12 13 public static void main(String[] args) throws Exception { 14 //Tika默认是10*1024*1024,这里防止文件过大导致Tika报错 15 BodyContentHandler handler = new BodyContentHandler(100*1024*1024); 16 17 Metadata metadata = new Metadata(); 18 FileInputStream inputstream = new FileInputStream(new File("D:/Nutch入门教程.pdf")); 19 ParseContext pcontext = new ParseContext(); 20 21 // 解析PDF文档时应由超类AbstractParser的派生类PDFParser实现 22 PDFParser pdfparser = new PDFParser(); 23 pdfparser.parse(inputstream, handler, metadata, pcontext); 24 25 // 获取PDF文档的内容 26 System.out.println("PDF文档内容:" + handler.toString()); 27 28 // 获取PDF文档的元数据 29 System.out.println("PDF文档元数据:"); 30 String[] metadataNames = metadata.names(); 31 32 for (String name : metadataNames) { 33 System.out.println(name + " : " + metadata.get(name)); 34 } 35 36 } 37 38 }