php抓取图片进行内容提取解析,文字性pdf进行内容文字提取解析
Posted Z.X
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php抓取图片进行内容提取解析,文字性pdf进行内容文字提取解析相关的知识,希望对你有一定的参考价值。
2018年7月7日18:52:17
php是用纯算法,自己是提取图片内容不是不行,可以但是优化起来很麻烦还得设计学习库,去矫正数据的正确率
对于大多数项目来说,如果不是做ocr服务,就不必要做需求工具或者接口
一,
先说工具 tesseract-ocr/tesseract 目前没有时间测试,全套东西,学习难度不大,需要的训练数据,支持多国语言
https://github.com/ShuiPingYang/tesseract-ocr-for-php
官方网站 http://tesseract-ocr.repairfaq.org
整一套到实际项目起码的一个月差不多,成熟的还得几个月的线上数据训练,差不多就OK了
二,
去购买其他成熟的平台的api,目前测试过的百度的图片识别api,通用文字高精度版,测试过几张稍复杂的图片还不错,返回的不是纯text
返回的是数组,还行,对于不规则的表格,文本后面再说处理方法,
我现在项目的使用的就是这个,官网http://ai.baidu.com/ 500/天 是免费的,方便测试
还有一个就是https://ai.qq.com/ 腾讯的 这个注册了但是还没有测试,
当然还有阿里云的,但是也属于没测试过,
都有各种语言的demo包
提取的百度api的demo
三,
纯算法提取,算了
pdf解析内容
目前解析文字性pdf的php,效果还不错,但是解析出来是纯文本,是不规则数据,
https://github.com/smalot/pdfparser php的库
文字识别率和效率都还不错
项目demo代码
图片性的pdf更麻烦,还得切成一页的图片然后再去ocr
说点数据提取的一点点心得
比如我获取某些网站发布的pdf文件进行部分数据的提取
首先我建议提取的pdf原始文本,进行json吧制表符转换成实体,记住不要把中文不要转码
json_encode( ‘中文‘, JSON_UNESCAPED_UNICODE );
利用制表符, 等作为分隔符,然后就是肉眼看到貌似很规则的pdf格式
其实解析完,你会发现一点都不规则,如果你没处理过,你会使用分割完的数组进行key的偏移进行定位你需要的位置的文本
但是,你不能使用不可穷尽的匹配位置的去获取数据
所以利用一点小方法就可以轻松获取数据,而且也不用写得极其的多的代码去匹配数据位置
方法1:
比如你的pdf文件数据大致的位置都是固定,但是解析出来的文本不规则的,可以进行数据块进行分割成一块一块的,如果你需要某块 的一部分数据,你就直接写稍微多3-4个
方法,去匹配位置就ok了,就不用去全文的匹配位置,麻烦少了很多,原则就是大块文本分小块,分块分次处理,进行全局匹配位置太麻烦,而且全局匹配可能你都没办法对复杂一点的pdf无法处理
方法2:
使用nlp接口去分析文本,百度ai的文本分析说使用只是把各种算法实现了,提供了接口,但是不是提供完整的功能,比如文本块分析
腾讯ai 也提供了。但是最大字符只有1024个字符,所以就直接放弃了,一页文本经常好几千个字,基本无实用性,如果你有小块文本需要提取的可以试试这个接口
方法3:
hadoop,但是貌似也没有直接数据清洗和数据提取的工具,如果你需要进行很多的数据的分析,还是得上这个生态
本文还会时不时继续更新
以上是关于php抓取图片进行内容提取解析,文字性pdf进行内容文字提取解析的主要内容,如果未能解决你的问题,请参考以下文章