PDF提取表格的网页工具——Excalibur
在之前的文章另类爬虫:从PDF文件中爬取表格数据中,我们知道如何利用Python的camelot模块,通过写Python程序来提取PDF中的表格数据。本文我们将学习如何用更便捷的工具从PDF中提取表格。
Excalibur是一个用来从PDF中提取表格数据的网页工具,而它正是以camelot为基础。该工具目前只支持文本类型的PDF,而不支持扫描后的PDF文档,关于其说明和使用文档可以参考网址: https://github.com/camelot-dev/excalibur 。
安装Excalibur
在安装Excalibur之前,需要事先安装ghostscript,具体的安装方式可以参考:https://camelot-py.readthedocs.io/en/master/user/install-deps.html 。不同系统安装ghostscript的方式不一样,以笔者的mac电脑为例,安装命令如下:
$ brew install tcl-tk ghostscript
安装ghostscript完毕后,再通过pip安装Excalibur,命令如下:
$ pip3 install excalibur-py
以上就是全部的安装准备工作了。
启动与使用Excalibur
运行下面的命令启动Excalibur:
$ excalibur initdb
$ excalibur webserver
前一句命令是初始化数据库,后一句命令是运行server服务。在浏览器中输入: http://localhost:5050 ,即可使用该平台。
进入该PDF表格提取平台,首页如下:
笔者测试的PDF中含有以下表格:
我们将该PDF文档上传至上述平台,点击“Upload PDF”按钮,再选择相应的PDF文档以及该表格所在的页码即可。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), 欢迎大家关注哦~~
PDF提取表格的网页工具——Excalibur的更多相关文章
- 单个pdf提取测试
# -*- coding: utf-8 -*- """ Created on Wed Feb 3 09:32:22 2016 pdf单个文件提取测试 @author: A ...
- ExcelPatternTool: Excel表格-数据库互导工具
ExcelPatternTool Excel表格-数据库互导工具 介绍: 指定Pattern文件-一个规则描述的json文档,基于此规则实现Excel表格与数据库之间的导入导出,校验等功能. 特点: ...
- Introduce: IEPI.BIATranscribe 图像表格拓写工具
应用场合 数据表格是学术.文案工作中常用的表述形式.我们经常需要从第三方获取所需的数据.有些时候这些数据并非以可直接编辑的形式(如电子表格文档),而是以打印件或者扫描件的形式提供.假如需要对数据进行进 ...
- C# 绘制PDF嵌套表格
嵌套表格,即在一张表格中的特定单元格中再插入一个或者多个表格,使用嵌套表格的优点在于能够让内容的布局更加合理,同时也方便程序套用.下面的示例中,将介绍如何通过C#编程来演示如何插入嵌套表格到PDF文档 ...
- 表格和网页ico图标
表格: 表格格式: <table> <tr> 表格的行 <th >表头</th> <th>表头 </th> </tr> ...
- 办公室文员必备python神器,将PDF文件表格转换成excel表格!
[阅读全文] 第三方库说明 # PDF读取第三方库 import pdfplumber # DataFrame 数据结果处理 import pandas as pd 初始化DataFrame数据对象 ...
- 美国usan数据库——PDF提取
QQ:231469242 原创 单个PDF内容提取 # -*- coding: utf-8 -*- """ io.open() is the preferred, hig ...
- 使用POI插件,提取导出excel的工具类
在网站的不同的模块都需要使用到导入导出excel的功能,我们就需要写一个通用的工具类ExcelUtil. 我的思路:首先,导入和导出的Excel的文件格式固定:主标题,二级标题,数据行(姑且就这么叫) ...
- 页面导出生成pdf,使用wkhtmltopdf第三方工具
把页面导出生成pdf,这里用到第三方的工具,使用方法中文文档没有找到,网上也没找到网友详细的神作.没有深入研究,所以也不赘述了,当然最基本的使用大多数也够用了,详细参数的官网也没介绍,大家使用的时候, ...
随机推荐
- 在idea中使用git
在idea中使用git 1. 在idea中配置git 安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下 ...
- 封装一个适用于vue的 jsonp
import originJsonp from 'jsonp' export default function jsonp(url, data, option) { return new Promis ...
- Scala函数式编程(四)函数式的数据结构 上
这次来说说函数式的数据结构是什么样子的,本章会先用一个list来举例子说明,最后给出一个Tree数据结构的练习,放在公众号里面,练习里面给出了基本的结构,但代码是空缺的需要补上,此外还有预留的test ...
- kube-nginx 和 keepalived 部署安装
目录 简介 nginx 安装配置 下载编译nginx 配置Nginx文件,开启4层透明转发 配置Nginx启动文件 keepalived 安装配置 安装keeplive服务 配置keeplive服务 ...
- 对于web前端的理解
对于web前端的理解 其实写这篇文章的首要目的是为了准备一道面试题——你对前端的看法是什么?本文不会仅从技术角度去考虑这个问题,还会依据这个社会的变革去讨论这个问题.本文仅代表个人观点,不喜勿喷. W ...
- for循环使用element的折叠面板遇到的问题-3
需求:for循环渲染上去的表单怎么使用element的表单校验 之前做这个的时候,死活绑不上去,不知道哪里出了问题,后来解决办法是prop要注意用拼接,使它和索引的变量一致 <el-form-i ...
- 使用Spring Data JPA的Specification构建数据库查询
Spring Data JPA最为优秀的特性就是可以通过自定义方法名称生成查询来轻松创建查询SQL.Spring Data JPA提供了一个Repository编程模型,最简单的方式就是通过扩展Jpa ...
- 转:浅谈Spring的PropertyPlaceholderConfigurer
大型项目中,我们往往会对我们的系统的配置信息进行统一管理,一般做法是将配置信息配置与一个cfg.properties的文件中,然后在我们系统初始化的时候,系统自动读取cfg.properties配置文 ...
- ggplot2|玩转Manhattan图-你有被要求这么画吗?
本文首发于“生信补给站”,ggplot2|玩转Manhattan图-你有被要求这么画吗?更多关于R语言,ggplot2绘图,生信分析的内容,敬请关注小号. Manhattan图算是GWAS分析的标配图 ...
- metronic 表格插件 datatables
官方网站:https://datatables.net/ css引入:datatables.min.css && datatables.bootstrap.css && ...