{"id":1113,"date":"2020-07-24T15:16:16","date_gmt":"2020-07-24T07:16:16","guid":{"rendered":"http:\/\/cnliutz.uicp.io\/?p=1113"},"modified":"2020-07-24T16:47:33","modified_gmt":"2020-07-24T08:47:33","slug":"%e7%99%be%e5%ba%a6%e6%99%ba%e8%83%bd%e4%ba%91-%e4%ba%ba%e5%b7%a5%e6%99%ba%e8%83%bd-%e9%80%9a%e7%94%a8%e6%96%87%e5%ad%97%e8%af%86%e5%88%abocr","status":"publish","type":"post","link":"http:\/\/g1n29wqq.ipyingshe.net:5347\/?p=1113","title":{"rendered":"\u767e\u5ea6\u667a\u80fd\u4e91-\u4eba\u5de5\u667a\u80fd-\u901a\u7528\u6587\u5b57\u8bc6\u522bOCR"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code># encoding:utf-8\n\nimport requests\nimport base64\nimport json\n\n'''\n\u901a\u7528\u6587\u5b57\u8bc6\u522b\n'''\n\nrequest_url = \"https:\/\/aip.baidubce.com\/rest\/2.0\/ocr\/v1\/general_basic\"\n# \u4e8c\u8fdb\u5236\u65b9\u5f0f\u6253\u5f00\u56fe\u7247\u6587\u4ef6\n#f = open('\/home\/cnliutz\/\u5fae21.jpg', 'rb') \u8981\u8bc6\u522b\u7684\u56fe\u7247\u653e\u8fd9\u91cc\u3002\nf = open('\/home\/cnliutz\/\u5fae\u4fe1\u56fe\u7247_20200724140210.jpg', 'rb')\nimg = base64.b64encode(f.read())\n\nparams = {\"image\":img}\naccess_token = '24.d4c2ebf5af97dd3dde655eabf3a22e2f.2592000.1598160343.282335-215715one.seven'  #\u751f\u6210\u7684\u7b7e\u540d \u5229\u7528\u767e\u5ea6\u667a\u80fd\u4e91-\u6587\u5b57\u8bc6\u522b-\u6280\u672f\u6587\u6863\u91cc\u7684\u65b9\u6cd5\u4ea7\u751f\u3002\nrequest_url = request_url + \"?access_token=\" + access_token\nheaders = {'content-type': 'application\/x-www-form-urlencoded'}\nresponse = requests.post(request_url, data=params, headers=headers)\nif response:\n    print (response.json())\nresults=response.json()\nwith open('shibiejieguo.txt',\"w\",encoding=\"utf-8\") as f:\n    for i in results&#91;'words_result']:\n        f.write(i&#91;\"words\"]+\"\\n\")<\/code><\/pre>\n\n\n\n<p>\u6ce8\u610f\u4fee\u6539access_token\u5185\u5bb9\uff0c\u5426\u5219\u65e0\u6cd5\u4f7f\u7528\u5462<br>\u53c2\u8003\u7f51\u5740\uff1a<a rel=\"noreferrer noopener\" href=\"https:\/\/cloud.baidu.com\/doc\/OCR\/s\/dk3iqnq51\" target=\"_blank\">https:\/\/cloud.baidu.com\/doc\/OCR\/s\/dk3iqnq51<\/a><br>\u3010\u53ea\u898110\u5206\u949f \u5feb\u901f\u638c\u63e1\u6587\u5b57\u8bc6\u522b\u3011 \u6559\u7a0b<br>\u53c2\u8003\u7f51\u5740\uff1a<a href=\"https:\/\/ai.baidu.com\/forum\/topic\/show\/867951\">https:\/\/ai.baidu.com\/forum\/topic\/show\/867951<\/a><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u6587\u5b57\u8bc6\u522b\u53e6\u4e00\u79cd\u8c03\u7528\u65b9\u6cd5\n# coding=utf-8\n\nimport sys\nimport json\nimport base64\n\n\n# \u4fdd\u8bc1\u517c\u5bb9python2\u4ee5\u53capython3\nIS_PY3 = sys.version_info.major == 3\nif IS_PY3:\n    from urllib.request import urlopen\n    from urllib.request import Request\n    from urllib.error import URLError\n    from urllib.parse import urlencode\n    from urllib.parse import quote_plus\nelse:\n    import urllib2\n    from urllib import quote_plus\n    from urllib2 import urlopen\n    from urllib2 import Request\n    from urllib2 import URLError\n    from urllib import urlencode\n# \u9632\u6b62https\u8bc1\u4e66\u6821\u9a8c\u4e0d\u6b63\u786e\nimport ssl\nssl._create_default_https_context = ssl._create_unverified_context\nAPI_KEY = 'dGgWcprUfQBHKM5UG2CdSzot'\nSECRET_KEY = '3Gqe5MkzUdONgtppDceUutRGdpF7MVkU'\nOCR_URL = \"https:\/\/aip.baidubce.com\/rest\/2.0\/ocr\/v1\/accurate_basic\"\n\"\"\"  TOKEN start \"\"\"\nTOKEN_URL = 'https:\/\/aip.baidubce.com\/oauth\/2.0\/token'\n\"\"\"\n    \u83b7\u53d6token\n\"\"\"\ndef fetch_token():\n    params = {'grant_type': 'client_credentials',\n              'client_id': API_KEY,\n              'client_secret': SECRET_KEY}\n    post_data = urlencode(params)\n    if (IS_PY3):\n        post_data = post_data.encode('utf-8')\n    req = Request(TOKEN_URL, post_data)\n    try:\n        f = urlopen(req, timeout=5)\n        result_str = f.read()\n    except URLError as err:\n        print(err)\n    if (IS_PY3):\n        result_str = result_str.decode()\n\n    result = json.loads(result_str)\n\n    if ('access_token' in result.keys() and 'scope' in result.keys()):\n        if not 'brain_all_scope' in result&#91;'scope'].split(' '):\n            print ('please ensure has check the  ability')\n            exit()\n        return result&#91;'access_token']\n    else:\n        print ('please overwrite the correct API_KEY and SECRET_KEY')\n        exit()\n\"\"\"\n    \u8bfb\u53d6\u6587\u4ef6\n\"\"\"\ndef read_file(image_path):\n    f = None\n    try:\n        f = open(image_path, 'rb')\n        return f.read()\n    except:\n        print('read image file fail')\n        return None\n    finally:\n        if f:\n            f.close()\n\n\"\"\"\n    \u8c03\u7528\u8fdc\u7a0b\u670d\u52a1\n\"\"\"\ndef request(url, data):\n    req = Request(url, data.encode('utf-8'))\n    has_error = False\n    try:\n        f = urlopen(req)\n        result_str = f.read()\n        if (IS_PY3):\n            result_str = result_str.decode()\n        return result_str\n    except  URLError as err:\n        print(err)\n\nif __name__ == '__main__':\n    # \u83b7\u53d6access token\n    token = fetch_token()\n\n    # \u62fc\u63a5\u901a\u7528\u6587\u5b57\u8bc6\u522b\u9ad8\u7cbe\u5ea6url\n    image_url = OCR_URL + \"?access_token=\" + token\n\n    text = \"\"\n\n    # \u8bfb\u53d6\u4e66\u7c4d\u9875\u9762\u56fe\u7247\n    file_content = read_file('\/home\/cnliutz\/\u5fae21.jpg')\n\n    # \u8c03\u7528\u6587\u5b57\u8bc6\u522b\u670d\u52a1\n    result = request(image_url, urlencode({'image': base64.b64encode(file_content)}))\n\n    # \u89e3\u6790\u8fd4\u56de\u7ed3\u679c\n    result_json = json.loads(result)\n    with open('shibiejieguo.txt',\"a\",encoding=\"utf-8\") as f:\n        for words_result in result_json&#91;\"words_result\"]:\n            text = text + words_result&#91;\"words\"]\n            f.write(words_result&#91;\"words\"])\n\n    # \u6253\u5370\u6587\u5b57\n    print(text)\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u6ce8\u610f\u4fee\u6539access_token\u5185\u5bb9\uff0c\u5426\u5219\u65e0\u6cd5\u4f7f\u7528\u5462\u53c2\u8003\u7f51\u5740\uff1ahttps:\/\/c <span class=\"readmore\"><a href=\"http:\/\/g1n29wqq.ipyingshe.net:5347\/?p=1113\">Continue Reading<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-1113","post","type-post","status-publish","format-standard","hentry","category-python"],"_links":{"self":[{"href":"http:\/\/g1n29wqq.ipyingshe.net:5347\/index.php?rest_route=\/wp\/v2\/posts\/1113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/g1n29wqq.ipyingshe.net:5347\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/g1n29wqq.ipyingshe.net:5347\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/g1n29wqq.ipyingshe.net:5347\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/g1n29wqq.ipyingshe.net:5347\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1113"}],"version-history":[{"count":5,"href":"http:\/\/g1n29wqq.ipyingshe.net:5347\/index.php?rest_route=\/wp\/v2\/posts\/1113\/revisions"}],"predecessor-version":[{"id":1118,"href":"http:\/\/g1n29wqq.ipyingshe.net:5347\/index.php?rest_route=\/wp\/v2\/posts\/1113\/revisions\/1118"}],"wp:attachment":[{"href":"http:\/\/g1n29wqq.ipyingshe.net:5347\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/g1n29wqq.ipyingshe.net:5347\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1113"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/g1n29wqq.ipyingshe.net:5347\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}