PDF提取表格的网页工具——Excalibur

  在以前的文章另类爬虫:从PDF文件中爬取表格数据中,咱们知道如何利用Python的camelot模块,经过写Python程序来提取PDF中的表格数据。本文咱们将学习如何用更便捷的工具从PDF中提取表格。
  Excalibur是一个用来从PDF中提取表格数据的网页工具,而它正是以camelot为基础。该工具目前只支持文本类型的PDF,而不支持扫描后的PDF文档,关于其说明和使用文档能够参考网址: https://github.com/camelot-dev/excaliburhtml

安装Excalibur

  在安装Excalibur以前,须要事先安装ghostscript,具体的安装方式能够参考:https://camelot-py.readthedocs.io/en/master/user/install-deps.html 。不一样系统安装ghostscript的方式不同,以笔者的mac电脑为例,安装命令以下:git

$ brew install tcl-tk ghostscript

安装ghostscript完毕后,再经过pip安装Excalibur,命令以下:github

$ pip3 install excalibur-py

以上就是所有的安装准备工做了。web

启动与使用Excalibur

  运行下面的命令启动Excalibur:算法

$ excalibur initdb
$ excalibur webserver

前一句命令是初始化数据库,后一句命令是运行server服务。在浏览器中输入: http://localhost:5050 ,便可使用该平台。
  进入该PDF表格提取平台,首页以下:数据库

进入PDF表格提取平台首页
笔者测试的PDF中含有如下表格:浏览器

示例表格内容

咱们将该PDF文档上传至上述平台,点击“Upload PDF”按钮,再选择相应的PDF文档以及该表格所在的页码便可。PDF上传后,该表格所在的那一页以下图所示:bash

PDF上传后的页面

在右侧的Anvanced中的Flavor中选择“lattice”,并用鼠标框选出表格所在的区域,以下图:微信

选择表格所在的区域

再点击“View and Download Data”按钮,就能获得从PDF解析表格后获得的数据了。截图以下:工具

表格解析后的结果

若是咱们还想将这个表格解析后的结果保存为文件,则能够在Download旁的下拉框中选择一种保存的形式,并点击Download按钮。好比,笔者选择保存为csv文件,则下载后的文件以下:

"Method","Precision","Recall","F-measure"
"(S1) SP-CCG","67.5","37.2","48.0"
"(S1) SP-CFG","71.1","39.2","50.5"
"(S1) K4","70.3","26.3","38.0"
"(S2) SP-CCG","63.7","41.4","50.2"
"(S2) SP-CFG","65.5","43.8","52.5"
"(S2) K4","67.1","35.0","45.8"
"","Table 5: Extraction Performance on ACE.","",""

咱们能够发现,该表格解析后的结果仍是至关漂亮的。

  本次分享到此结束,感谢你们的阅读。

注意:本人现已开通微信公众号: Python爬虫与算法(微信号为:easy_web_scrape), 欢迎你们关注哦~~

相关文章
相关标签/搜索