首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python数据采集-多PDF文档进行关键字数据检索

昨日,笨女朋友在一堆50多篇文献中,为了找出具有一句话那份文档,花了一个下午。很少傻,但是想想我们平时很多朋友、同事工作生活中都有这种“笨”行为,或是在一堆文件中找出某个文档,要买在一堆Excel中找出一份数据,等等。#真相来了#,如果你学会编程,会Python,你讲把效率大大提高。有人说,我找份文档还写个程序?写完程序我都找到了。可当下一次还要找的时候,你会发现,你有个程序就是坐着喝茶等结果。

我的笨女人今天我们目标是一步一步来实现在一堆PDF文档中,寻找具有某个关键字/句的文档。一PDF文档读取我们要实现的第一步显然是读取一个PDF文档,读取PDF文档的方法有很多。在Python我们习惯性用第三方库提高效率,这里我们介绍几个关于PDF的文档工具:PDFMiner–一个用于从PDF文档中抽取信息的工具。PyPDF2–一个可以分割,合并和转换PDF页面的库。

cmd-pipinstallpdfminer.six如果有不知道Python怎么利用pip安装工具的,哪后面我们将补充些Python基础课程。读取一个PDF文档:参考pdfminer库的官方文档:https://media.readthedocs.org/pdf/pdfminer-docs/latest/pdfminer-docs.pdf完全安装开发文档进行编写的代码如下

参考官方文档实现代码一个PDF页面的结构(详情参考官方在线文档):

一页PDF的文档结构运行结果:

运行结果这个过程类似你在打开一个个PDF并看到里面的内容。下面我们就要实现第二步,看到内容后,进行查找匹配。二检索匹配我们第一步讲PDF文档的内容读取出来了,逻辑上,第二步就是将读取到的内容与我们需要查找的关键字/句,匹配起来,找出第几页第几行。

完整代码如下:

根据关键字匹配一个PDF文档运行效果如下:(30秒不到479页的PDF文档所有匹配结果)

·一般我们看的资料文献都是,50页以内,检索起来还是比较快的,但我们要在一本书的PDF中找出一两句话或者关键词,这种检索方式就比较慢了,我们就可以采取相关性的方式来进行运算,运算两个文本的相识度。不过这个知识点是大数据开发的,后面我们会学习到。三实现文件夹下面所有文档自动匹配根据上面的文本检索原理,我们下一步就是实现一个文件夹下面的所有文档进行自动检索,这才是我们想要的。

获取一个文件目录下的所有PDF路径实现效果如下:

第二步逐本PDF文档进行匹配检索封装代码如下:

运行结果如下(截图为两本书的检索情况):

到了这里,基本上我们已经实现了,在一堆PDF文档中进行检索出对应关键字的文本和页码行数并且输出。显然我们要向能将他使用起来,就要对路径和关键字这两个变量,在运行时输入。那么我们下一步就实现,运行时提示输入文件夹路径和需要检索的关键字,并且封装成EXE程序,方便在Windows平台下运行。四输入流及程序封装EXE提示输入文件夹路径,提示输入需要检索的字句,提示确认开始:代码如下

运行结果如下:

基本上到了这里我们程序已经完成,但是现在还是py文件,还不是正常人用的EXE程序,下面我们将py文件转换成EXE程序。第一步安装pyinstallercmd-pipinstallpyinstaller

第二步进入文件目录执行pyinstaller-Fxxx.py

第三步当前目录下dist文件夹EXE文件

双击运行.发现报错:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180725A1IDGG00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券