最近有个人叫我把印刷版的pdf解析一下,我试了腾讯,阿里,百度的方法,都不太行,后面发现创业公司庖丁科技对这方面优化得还可以,所以买了API,这里分享一下我的python实现。

官网为:PDFlux - PDF文档内容和数据提取神器

首先把如图所示的secret填到下面的your_secret_key的位置,然后传入自己的文件,执行下面的脚本。

  • 上传文件到pdflux
import requests,json
from Get_Token import encode_url""" 读取图片 """
def get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.read() def upload(URL,fname):url = encode_url(URL, 'pdflux', 'your_secret_key')data = {'file':open(fname, 'rb')}r =requests.post(url,files=data)return r.textif __name__ == "__main__":fname='../chengdu/1995.pdf'user=''URL='http://saas.pdflux.com/api/v1/saas/upload?user={}&force_updata=true'.format(user)result=upload(URL,fname)print(result)json_file=fname+'.json'with open(json_file, "w") as fp:fp.write(json.dumps(result,indent=4))

有人会有疑问,Get_Token是哪里来的呢?其实就是官方工作人员给你账号以后,登陆进去就能下载了。登陆地址:PDFluxSaaS

我们是直接找工作人员开的账号哈,有需要的可以直接联系他们

  • 下载excel文件
import requests,json
from Get_Token import encode_url
from upload_file import upload
import time
import osdef get_status(uuid,user):URL='http://saas.pdflux.com/api/v1/saas/document/{}?user={}'.format(uuid,user)url = encode_url(URL, 'pdflux', 'qTLmxhIi20YH')r =requests.get(url)return r.textdef download_data(uuid,file_name,user):url='http://saas.pdflux.com/api/v1/saas/document/{}/excel?user={}'.format(uuid,user)down_url=encode_url(url, 'pdflux', 'your_secret_key')down_res = requests.get(url=down_url)with open(file_name,"wb") as code:code.write(down_res.content)def test_status():uuid='fad4c522-c71c-11ea-ba3d-00163e028884'# uuid='fb892010-c6a6-11ea-ba3d-00163e028884'res=get_status(uuid)print(res)if __name__ == "__main__":fnames=['./pdf_data/1988.pdf','./pdf_data/1989.pdf','./pdf_data/1990.pdf','./pdf_data/1991.pdf','./pdf_data/1992.pdf','./pdf_data/1993.pdf','../pdf_data/1996.pdf']user=''uuids=[]for uuid,fname in zip(uuids,fnames):file_name=fname+'.xls'if(os.path.exists(file_name)):continuewhile True:res=get_status(uuid,user)res=json.loads(res)print(res)if(res['data']['parsed']==2):download_data(uuid,file_name,user)breaktime.sleep(20)
  • upload文件
import requests,json
from Get_Token import encode_url""" 读取图片 """
def get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.read() def upload(URL,fname):url = encode_url(URL, 'pdflux', 'your_secret_key')data = {'file':open(fname, 'rb')}r =requests.post(url,files=data)return r.text

填上你的user和uuid那些,就等着处理完了以后下载下来了哈,最终会把所有pdf里面的表格整合成一个excel,非常的方便哈,我也有点好奇他们是怎么实现这个pdf表格解析这项技术的,我试了好多开源的方案和大厂的API,都达不到他们的这种水平。

python 庖丁科技pdflux的表格解析(精度很高)相关推荐

  1. 点火提前角的修正方式有哪些_“天问一号”完成第二次轨道中途修正:精度很高,本次修正量很小...

    "天问一号"完成第二次轨道中途修正:精度很高,本次修正量很小 来源:央视网 记者从国家航天局获悉,2020年9月20日23时,在我国首次火星探测任务飞行控制团队控制下,天问一号探测 ...

  2. Carsim和simulink联合仿真轮胎力估计 基于滑模观测器SMO估计轮胎的纵向力和侧向力 模型估计的精度很高,测试的工况为双移线工况

    Carsim和simulink联合仿真轮胎力估计 基于滑模观测器SMO估计轮胎的纵向力和侧向力 模型估计的精度很高,测试的工况为双移线工况 基于SMO滑模观测器的轮胎力估计方法省去了轮胎模型的使用,避 ...

  3. 深度学习前人精度很高了,该怎么创新?(论文发表,论文创新)

    深度学习领域新技术层出不穷,顶尖的研究人员也愈来越多,当研究领域的前人精度已经很高了,我们该怎么创新,从哪些角度去创新呢? 目录 回答一: 1.无事生非: 2.后浪推前浪: 3.推陈出新 4.出奇制胜 ...

  4. 深度学习前人精度很高了,该怎么创新?

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨仿佛若有光.DLing.CC查理 来源丨知乎问答 编辑丨极市平 ...

  5. 深度学习前人精度很高了怎么创新?

    常见的思路我临时给它们取了几个名字:无事生非,后浪推前浪,推陈出新,出奇制胜. 1. 在原始的数据集上加一些噪声,例如随机遮挡,或者调整饱和度亮度什么的,主要是根据具体的任务来增加噪声或扰动,不可乱来 ...

  6. python真实收入曝光_程序员工资很高吗?资深HR透露真实收入,网友:说的很现实...

    小编是一个多年开发经验的程序员,前端.Java.Python我都懂,如果你在入门学习WEB前端的过程当中缺乏系统的学习教程,或者说缺乏一个交流技术的地方,你可以申请加入我的WEB前端裙:前面二九六,中 ...

  7. python 人气高的项目_给大家推荐:五个Python小项目,Github上的人气很高的

    1.深度学习框架 Pytorch https://github.com/pytorch/pytorch PyTorch 是一个 Torch7 团队开源的 Python 优先的深度学习框架,提供两个高级 ...

  8. python 人气高的项目_给大家推荐:五个Python小项目,Github上的人气很高的!

    1.深度学习框架 Pytorch PyTorch 是一个 Torch7 团队开源的 Python 优先的深度学习框架,提供两个高级功能: ● 强大的 GPU 加速 Tensor 计算(类似 numpy ...

  9. 给大家推荐:五个Python小项目,Github上的人气很高的

    1.深度学习框架 Pytorch https://github.com/pytorch/pytorch PyTorch 是一个 Torch7 团队开源的 Python 优先的深度学习框架,提供两个高级 ...

最新文章

  1. 用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联。
  2. Spark 与MapReduce 资源调度方面的简单对比
  3. POPUP_TO_DECIDE_WITH_MESSAGE
  4. 判断点是否处于多边形内的三种方法(转)
  5. Bit-Z转入GXS、PPS、SPHTX、EOS未到账解决方案
  6. [转载] 羽毛球——学打羽毛球 08 接发球 发球
  7. mac gcc安装_16_超级小白Mac Pro下安装superset遇见的坑
  8. 为什么 scrum 开发人员是一个 T-形的人 ?
  9. oracle 导入导出数据库、删除用户以及该用户所有的对象
  10. hadoop各组件及其作用
  11. jpg格式电脑怎么弄_jpg格式图片电脑怎么弄
  12. 【亲自实践能够下载的谷歌地图切片url地址】谷歌地图数据下载的尝试以及Python爬虫实现
  13. 计算机硬件连接子系统,网络综合布线七大子系统详细讲解
  14. 基于auto.js的安卓抢购软件---淘宝抢购小助手(不完善,仅供参考)
  15. 监控摄像机镜头角度和距离计算表
  16. 每日三省吾身- 持续改进-持续集成
  17. java之get/set方法的作用:灵活、安全
  18. python中for循环在遍历文件内容时的问题
  19. Scrapy--CrawlSpider
  20. 开源无国界?你开源出去的代码, 可能有一天你自己都不能用了!

热门文章

  1. 直观打印二叉树的图形
  2. Ubuntu 20.04.5安装无线网卡RTL8821CE驱动
  3. springboot+uniapp实现简单注册登录
  4. sqllyog可以连接oracle_sqlyog连接不上数据库
  5. Windows Shell 编程 第十章
  6. 好玩的免费GM游戏整理汇总
  7. Windows 10如何找回显示桌面图标,一键快速回到桌面
  8. C#【必备技能篇】使用批处理脚本(.bat文件)打开控制台应用程序
  9. 数据库高并发解决方案(二)部署优化
  10. 关于 网易云音乐 我喜欢的音乐 排序无法改为添加时间 排序无法还原 的问题