目录

上一个主题

4.7. 使用reportlab模块

下一个主题

5. Web信息解析与处理


4.8. 实例:读取PDF内中文内容

我们前面介绍的PyPDF4库,对解析中文支持的并不好,获取输出会出现乱码,下面我们使用其他库来解析中文内容。

使用PyPDF4解析文档

文档的内容如图所示:

image0

>>> import PyPDF4
>>>
>>> FILE_PATH = './pdf_file/zh.pdf'
>>>
>>> with open(FILE_PATH, mode='rb') as f:
>>>     reader = PyPDF4.PdfFileReader(f)
>>>     page = reader.getPage(0)
>>>     print(page.extractText().strip())
,®9y




,´
FÓ˛0˛[!Q,´-(4ÿLÄGþ9y˝_







˘A

+g

使用pdfplumber解析PDF文档

需要先安装pdfplumber库

pip install pdfplumber

即可使用。

>>> import pdfplumber
>>>
>>> with pdfplumber.open(FILE_PATH) as pdf:
>>>     content = ''
>>>     for i in range(len(pdf.pages)):
>>>         page = pdf.pages[i]
>>>         page_content = '\n'.join(page.extract_text().split('\n')[:-1])
>>>         content = content + page_content
>>>     print(content)
从百草园到三味书屋

我家的后面有一个很大的园,相传叫作百草园。现在是早已并屋子一起卖给朱文公的
子孙了,连那最末次的相见也已经隔了七八年,其中似乎确凿只有一些野草;但那时却是
我的乐园。

姓名  性别
我  男

使用Tika解析PDF文档Tika

Tika是一个内容分析工具,自带全面的parser工具类,能解析基本所有常见格式的文件,得到文件的metadata,content等内容,返回格式化信息。总的来说可以作为一个通用的解析工具。特别对于搜索引擎的数据抓去和处理步骤有重要意义。Tika是Apache的Lucene项目下面的子项目,在lucene的应用中可以使用tika获取大批量文档中的内容来建立索引,非常方便,也很容易使用。所以他是使用Java编写的,Tika集成了现有的文档解析库,并提供统一的接口,使针对不同类型的文档进行解析变得更简单。Tika针对搜索引擎索引、内容分析、转化等非常有用。让我们来看看他的强大。

安装

pip install tika
>>> import tika
>>> tika.initVM()
>>> from tika import parser
>>> parsed = parser.from_file(FILE_PATH)
>>> print(parsed["content"].strip())
从百草园到三味书屋



我家的后面有一个很大的园,相传叫作百草园。现在是早已并屋子一起卖给朱文公的

子孙了,连那最末次的相见也已经隔了七八年,其中似乎确凿只有一些野草;但那时却是

我的乐园。



姓名 性别

我 男

使用tika库可以读取文档内的所有所有信息,包括超链接等。