在上一篇文章替代爬虫:从PDF文件中爬取表格数据,我们知道了如何使用Python的camelot模块通过编写Python程序来提取PDF中的表格数据。在本文中,我们将学习如何使用更方便的工具从PDF中提取表格。Excalibur是一个用于从PDF中提取表格数据的Web工具,它基于camelot。该工具目前仅支持文本类型的PDF,不支持扫描的PDF文档。其使用说明和使用文档请参考网址:https://github.com/camelot-de...。安装Excalibur在安装Excalibur之前,需要提前安装ghostscript。具体安装方法请参考:https://camelot-py.readthedoc...。不同的系统以不同的方式安装ghostscript。以我的mac电脑为例,安装命令如下:$brewinstalltcl-tkghostscript安装ghostscript后,通过pip安装Excalibur。命令如下:$pip3installexcalibur-py以上就是所有的安装准备工作了。启动并使用Excalibur运行以下命令启动Excalibur:$excaliburinitdb$excaliburwebserver前面的命令是初始化数据库,后面的命令是运行服务器服务。在浏览器中输入:http://localhost:5050即可使用平台。进入PDF表单提取平台,首页如下:我测试的PDF包含如下表单:我们将PDF文档上传到上面的平台,点击“上传PDF”按钮,然后选择对应的PDF文档和表格的页码。.PDF上传后,表单所在页面如下图所示:在右侧Advanced中的Flavor中选择“lattice”,用鼠标选中表单所在区域,如图如下图:然后点击“查看和下载数据”按钮,就可以得到PDF解析表单后得到的数据。截图如下:如果我们还想把这个表的解析结果保存为文件,可以在下载旁边的下拉框中选择一种保存形式,点击下载按钮。例如笔者选择另存为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""","表5:ACE上的提取性能。","",""我们可以发现解析该表的结果非常漂亮。本次分享到此结束,感谢阅读。注:我已开通微信公众号:Python爬虫与算法(微信ID:easy_web_scrape),欢迎大家关注~~
