最近有个人叫我把印刷版的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. 在Ubuntu 14.04 64bit上搭建Scala开发环境
  2. CVPR 2021评审出炉,得分惨不忍睹,面对奇葩评审该如何反击?
  3. 2018年《环球科学》十大科学新闻出炉:霍金逝世、贺建奎事件位列前二
  4. 2022年大厂面试八股文上线!
  5. java 一些常用的代码(转载)
  6. find指定具体时间参数-newermt
  7. AI:2020年6月21日北京智源大会演讲分享之14:50-15:15穗志方教授《从语言到知识——构建语言智能的基石》
  8. hive内置函数_flink教程flink modules详解之使用hive函数
  9. 真的,太多人辜负了.NET5!
  10. windows mysql 备份_Windows下MySQL数据库备份脚本(二) | 系统运维
  11. Eclipse编辑器字体大小的设置
  12. 逆波兰表达式(信息学奥赛一本通-T1198)
  13. 智能一代云平台(二十四):已安装的Nginx上安装echo插件
  14. 可视化技巧:DataFrame画图并利用matplotlib保存(pandas)
  15. 简单的Qt倒计时程序--番茄钟
  16. MD5在线解密工具推荐
  17. mujoco_py中文文档
  18. Rational Rose 2016
  19. RedHat认证介绍
  20. 捍卫者usb管理控制系统_捍卫效用优先CSS

热门文章

  1. 怎样用AIDL Service 传递复杂数据
  2. c语言全部题目及答案,C语言全部题目及答案
  3. C#对接银行接口总结
  4. MySQL数据库课程设计_Wincc实现与数据库的交互以及报表的实现方式
  5. 如何使用poi解析word生成html目录结构
  6. 如何将webp批量转换jpg?
  7. 虚拟化应用交付解决方案【ANS SOLUTIONS】
  8. 魔众EDM邮件营销系统 v1.0.0 专业的EDM邮件营销系统
  9. 检测xposed框架实现
  10. svchost.exe占用cpu100%