处理图片识别API的返回字符串

问题描述

本人新手,今天刚刚搞搜狗的OCR识图,但是返回的数据不是全文字,而是加在其他参数之间的。

我发现,每句话文字都在字符串"content":"和n","frame":之间。

那么要怎么截取这之间的文字并且拼到一起??

这个代码怎么实现啊,小白有些懵逼

阅读 2.5k
3 个回答

返回的数据应该是分行的,你把 content 拼接起来就是了。

import re
#文本所在TXT文件
file = '123.txt'
 
#关键字1,2(修改引号间的内容)
w1 = '123'
w2 = '456'
 
f = open(file,'r')
buff = f.read()
#清除换行符,请取消下一行注释
#buff = buff.replace('\n','')
pat = re.compile(w1+'(.*?)'+w2,re.S)
result = pat.findall(buff)
print(result)


--------------------- 
第二种方法


#coding:utf8
import re
import sys
reload(sys)
sys.setdefaultencoding('utf8')
#!/usr/bin/python
template = "我要<歌手名>的<歌曲名>"
 
def subString1(template):
    copy = False
    finished = False
    slotList = []
    str = ""
    for s in template:
        if s=='<':
            copy = True
        elif s=='>':
            copy = False
            finished = True
        elif copy:
            str = str+s
        if finished:
            slotList.append(str)
            str = ""
            finished = False
    return slotList
 
def subString2(template):
    rule = r'<(.*?)>'
    slotList = re.findall(rule, template)
    return slotList
 
 
slotList = subString1(template)
for slot in slotList:
    print slot
 
slotList = subString2(template)
for slot in slotList:
    print slot
---------------------


找到的两种方法

这是标准的json啊

import requests

d = requests.get('ocr api').json()
lst = [_['content'] for _ in d['result']]
print ''.join(lst)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题