[ 百度图片识别api ]


百度智能云api

1. 创建应用

https://console.bce.baidu.com/ai/#/ai/ocr/app/list

2. 调试api

https://console.bce.baidu.com/tools/#/api?product=AI&project=%E6%96%87%E5%AD%97%E8%AF%86%E5%88%AB&parent=%E9%80%9A%E7%94%A8%E5%9C%BA%E6%99%AFOCR&api=rest%2F2.0%2Focr%2Fv1%2Fgeneral_basic&method=post

代码演示

import base64
import urllib
import requests

API_KEY = "VGbyczGc6huvjCUizLNdVYpC"
SECRET_KEY = "WzpEhCreATIYGxNw1c77byVQMDSEYu61"

def main():

    url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic?access_token=" + get_access_token()

    # image 可以通过 get_file_content_as_base64("C:\fakepath\1.png",True) 方法获取
    payload='image=iVBORw0KGgoAAAANSUhEUgAAAK8AAAE9CAYAAAB9SzKJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABdwSURBVHhe7Z2%2FrhzJrYf9Eo6cGn6MBa6BGyjYfCPhZHK%2BcLKJFOwbGDdwcPQOmzrzJhv5VRx4bRhO7rhI1h%2BSxarumSNpm9LvAwidme6uqi5%2BxZlRUP2rGwBJgbwgLZAXpAXygrRAXpAWyAvSAnlBWiAvSAvkBWmBvCAtkBekBfKCtPzqt3%2F4x63F33%2F%2BfwQiTUBeRNqAvIi0AXkRaQPyItIG5EWkDciLSBuQF5E2IC8ibUBeRNqAvIi0AXkRaQPyItIG5EWkjZTy%2FuXPP99%2B%2B%2F2%2Fw2MS%2F7l9%2B8dxX4fxx3%2Fd%2FtKu%2Fdu%2Fbl%2F94efbt3%2FT7ZX44Z%2FBtf%2B8%2FWk6x733879v35j36HXQfhB%2F%2Bp76iM%2FlY9s5%2BPwjpbyUuK%2F%2B%2FJ%2Fw2C6OruNFoeZjRJGPxNSSOynNgqJzu1jjvJ2Mc4jkX5VFGI0Z8qaUV6rqx5BXx1TdN%2FKKlEHw%2BXSevP7mh0XbUbT%2Bpn4lIG9KeasMDyTuSN515S3ifV8kmt7XXwfmoPa%2B%2BWFI3t4%2Fs4j6OYuvMZA3o7yczGNxojgjDUfUx%2FZrw6iuOqSv6Pv30VcHaq%2BdU693okLehPK2pNG%2F7WP4bJySt4or5zUpz8hmFxNV3VMLJQj%2BBFALRT4R5uoNeVPJqyoSSRZ8F9zFkbwsRJHk283Xhx5GnE3l5cWgxTv6zh5U2rqg9GKFvMnk9Qk7ktHH2fMPq6b53wSKTeVV8koFPfjEqKLqvPRQixXyZpKXhHGCmEps3o%2FjHnn1vIQxyTufM%2BRVr1U%2FUXDf0ScK3%2F%2B4V8ibRV5O3KJiuaTu4peuvP386foWsgjivu0xyJtAXqmCB3JWuY%2FE%2FLiV97y8y8VxsBBZ2NoW5L24vJyg0z%2FK6kd3Sagk%2Bc5QIizlarGpvFp8%2BaR45L%2FKEGci1Q82BEIH5EWkDciLSBuQF5E2IC8ibUBeRNqAvIi0AXkRaQPyItIG5EWkDciLSBuQF5E2IC8ibUBeRNrAQwRBWiAvSAvkBWmBvCAtkBekBfKCtEBekBbIC9ICeUFaIC9IC%2BQFaYG8IC2QF6QF8oK0QF6QFsgL0gJ5QVogL0jLpeX98d3vb7%2F%2Bze9sfP3d7cd6fPB8e%2FrN729v%2F1pfOp7frK474P3ru67j8b55fXvy19zTDp3r7%2FnNcz1o4fsy574uMxHg2nz17qd6IDe5Ku9SgrW84QKo4ZO4O3cZfTw%2F3d5%2B%2Fbvb0%2FvyJ42ThPvrd7dX7nzqk6RbCsSiaQnp3vz58t40F1VSHkOD37Nz8%2FxmvdAzcW15mwSN%2BnormUoonRdJcqoSU19H52hY1CYdiawEUW1JdQ7ro8Cy2QrK16ix7MYvc6PH8flUWs%2FlKy8lqlWSdcWaKy8nOJI7ikkEVUVP4gUzVHmfj8QlAnn5Xvp1UnXXY9PH5T4O%2B0zK9b829Iqmqhm9Z0Sx8rLw5bvnlLRAjLktXR3rx%2FMq%2BnX1vK%2Fp%2B64co0W2XUA70fUY%2Bf7VwjQVPsYscm6v9PcZCpziO69UtfIVQCXNJIjlsZW3J%2B1MaJFYjt1Hba1mqj8a36uyWNoi4Nf6%2BhPCdaJxa%2FGiBeiwlbqg2rzn0%2BTqJPnBViubTogRIpBXwfJz8nzSpV2%2FCF6tvidWCbwAz%2B%2BKtDSeQN6w%2Bq6qLhHIyW20a07KG42%2Fj2XXfyJyyesmnSQRkay8XhhJZG3DxCwJtSfJ%2Fy44P4g2pkleuZ6%2Fvuhxq%2FNCQjn1%2Fcl9rCvowXFe9IvFmYwU8rKMpeqKVNGkW3k1Q2QSoglc%2Ft5ItOyHxFqJt6i8rVqHwkdE8rJwbnEu2pBPGS%2B%2FZT2Pubi%2BvDqZnMQoMVZeSaCI0iqQSEzXjh9%2BqyR%2BKHmfS9V99tdsFg0TyDvLWheha0fuWy9i9SO3wXO4q9x5uLa8ruIQlMh54heVtyZKS2zblB9fXtSXysuytT5ZRnnd41Dec%2Be3fkZEC7v9wGwRzFNSLi1vLGqjfQWooX7M9aS2pDshIlm1IPR6nGOTH0pNdHldtfPCK8nBy0jygw2AGcgL0gJ5QVogL0gL5AVpgbwgLZAXpAXygrRAXpAWyAvSAnlBWiAvSAvkBWmBvCAtkBekBfKCtEBekBbIC9ICeUFaIC9IC%2BQFaYG8IC2QF6QF8oK0QF6QFsgL0gJ5QVogL0gL5AVpgbwgLZAXpAXygrSklNc88%2BE0dTNq%2FUShI%2FTG0LxBdbTzeIV3XB%2FHzRj5WLRRtt%2B1%2FCDcptS8jb%2B5H2lvvSH3DrdZt95BvY7fjKVE2E%2FbyDvcQFv6eGx8M5%2BnvIvJXsfqkQD2fd5BfSG%2FH1O0q7vfgf0u2Wg85loSwS4mljm6v1AkRRXOjkO1H8yFHA%2FabvKWmHP0hcnLCa%2BTcRSm0qlJnaQzVdRtw0%2Fw8UDoViknGXwbQZshtb0y9p5Q6tu0L%2Bc8vbP3RKLKNVUIemQWzUNw7ZmFvhUqlFdYze0T581%2FUn2B8vrJj96LqnGrRPJ%2BFaVNdE2aF1EWi590i5yjk1Cr0D3B46hivqfrpU%2B%2BN%2FU0TRlnOaYXJP1d70Pu%2B7m0I3LxPfN57n4X8L0cnLOTdzrWCgO%2F79v%2B4uVtCa8vK1Zen7gqV3k9JUtVulOJ7NQ2nfxMadMvpBh1LzSOIm2TuN0Py0hjUvLye9T3JIfQjh%2BPQfo%2FPG8nrxeyyVv%2BbOPwi%2FzLlbetaCdNS%2FYET6ZtQyZVJnimSrmNVSKJunDC6yj0tXoh%2BgXX2qnnK3mFcvyNWzhtbnTlK7GW5aRMD8o77qG9%2FqLllcmg1yLgmNBJXp3I%2BpalShpVzgr34SvbNpEFOl6kmsQiKLFewC5vWzRjvNx%2FO5%2FaVdfypwSfryK6lzYP4SfKx5a3UPuX3Hyp8kZJqFWVJkPL2xL7qnwPNMkNgr9f0t9BcqeqT2wTSdfUY2Vs9toocUNeHnMZw%2BiTzi%2F3VBcr99vkVPc9kPb9%2FXFEUjO1MoZiK3b37GX1rwuj0HyB8koSFpPHE%2Fv69tZX3kJYORWhnB2RZ%2Bqz9he2SolT%2FY3%2BxyeGpcpL%2F5PQ%2BxrScpJbf1reELouGBeNaXcdy7aY28ZS3uC%2BAnn7IinFhArFFyXvWrCBrryNl8jLiya6NkwOEcsjVWfVT02qO%2B7vhV%2Fr%2F4GojIVN%2FT4ob0Ha8XKq9kJ56Xi5zre9mh9uQ8YLeR1LeeuErWJuu1WJOOGc6OmYJHIkZUgp57bXPqny%2Fqlk6srLgvjrqkxRLO7FUNscocaqxNMRjnu5uEc%2BIC9hJnz%2BWOPJuqfy1vZsf16KuZ%2FeTh9P9BFLqLbU14l1Ml3fm3uRcwNpaExn5E3I5eUFYAXkBWmBvCAtkBekBfKCtEBekBbIC9ICeUFaIC9IC%2BQFaYG8IC2QF6QF8oK0QF6QFsgL0gJ5QVogL0gL5AVpgbwgLZAXpAXygrRAXpAWyAvSAnlBWiAvSAvkBWmBvCAtkBekBfKCtEBekBbIC9ICeUFaUsgb70Ze399uuEybNy82eg43XbYbNFP7Y%2BNnvxE0vY53ACeONrYWpM2%2BeTRvSu3f07HYPHqxE%2Flp%2BqbYEtGG29sNqts57n45P73d1Ybbj3N9ed3E9ol4H281PwlTt6Q3u49Tm1EyijjPvPV8m2jZmVyutfLKwilt9IS4XcyXoZOo26Trh7xmvITe1r8Rzo2LnXQEt2HF6k80IupxerJSLB%2BNl46XvtTczwWn3N%2FRWO7k4vK2hJY%2FaRL75IwER8%2BiYM4ktoYXxVRNlp8qm5LKjKWhxrrEn3OHvNSnSr4832GWplPvf2rHIH2F89fgduRpS2E%2FdVG91Z%2BCPGdHc%2FFyLi2vfGzTBNePxTKR%2FdkPaiIpkWGy3WRHouuvBv64CGJFt6ETRPJF5%2FiY5bXHlLz1U6Md7%2FdI9xaILO22cZz5KlH7j6RsVHnliZpzmzR%2FNGfySVSP1nHvF87LSfKDzValkWwfanJ50qNz5ujylknnxNckRLIPfBX1ryP8OUpUd4%2F3Jt4stJ2MnjZPq2uavGasjXE%2FRt4Cv1Zz%2BzG4uLx3JNJXBpp0l5BIRl15hZGQ%2B%2BWt8mzjnLzxtUMif8yMM1q4O6HV%2BdNcd3nr377i13a9vEQT2BSVD0gieVdJrRMTyTudG8dqcZhqFoaXV7%2BO8Oes5X16Y0Xh%2B9OvHSTKeqGdo8um%2B9HymvHrsddrwwVC10i7Lx2fJ5m8Xg6amI28j1ReVV0%2BVeW1x9o92%2Fv1cnbRjmIjfAjPo%2BrLyFv7pXlV82TeXyCFwOfvZXy%2BlTdgL6PAk1yTIBMe9dnCy3uUHH%2BOFrQdU%2FfcBHGiTKzuna7bCLXCLBQnb%2BvrKVpM277OzM99fIaVdyX5QbAcur97Ki%2F9LdeNa%2BQ9aru1R%2FCC6CL6Npy89C5JsU26nB%2BO81DeYE5r5e1j9vL2%2BbXXGXmpDbfYpBAEC%2BwFoPJquI2RlHPy1nGpah1eo8fXKqkRY5a3JZyqXCSwHLeLQ2Mq6BI%2Fr66fSd7ar1sUU%2BWti6C3u%2FvkeJDklXckkGNbZTZiVbgtNcnz%2BS7RUUJ80lT4vlv7Ul0pSBLVh7mfWsm79P54Yep7v5izc3F5AVgDeUFaIC9IC%2BQFaYG8IC2QF6QF8oK0QF6QFsgL0gJ5QVogL0gL5AVpgbwgLZAXpAXygrRAXpAWyAvSAnlBWiAvSAvkBWmBvCAtkBekBfKCtEBekBbIC9ICeUFaIC9IC%2BQFaYG8IC2QF6QF8oK0QF6QloTy1s2XDzaS7ruP15e7TZ%2BjtvTG0rzpdHQdhduM%2BqitgduomqM%2BadK8p2OzWXTbcDra8Lqx2pS6MN2jPqddp2PXzyfi4vLW3cBPh02u2dae5A0m3Ao3dl%2FXydTiUZvxNvoiY3Qslrcx%2BiTMeMwCpLk4krf0E%2BweL0g%2F8%2BNe6yJyc2PGzG3rvuNrPjVpKu9KgEimsU1%2BDUqWlpeSURNoZFEixf3tBAoWmurjLnl9Oz2O5L3zGcEFnqsjCSd5C%2FxJtloon4ZEXxtIDjdZNKnbiZcKwXK%2FSN7VJ4CTTkmhX3Nbb16XMOmvBPK288z9nam85ThLNZ%2FXPoVY1tb%2BWQEh7%2F1MFfRMOIG6gIfyiuhRm6%2Fe0TOJvRBaOrlWV1fdN%2FdRzuXv3NNi%2B8Dy1rHYT6Ox8I28kZQR0Xlnr%2F2IJPzBdhKe3CZfkUjJqwUxsiwZ4gwph3TchhFzFrKJLAtS2poX50t%2FsNXj9LdaJPoetbz8%2FrSYAiZR5ZNIL9ZfggTyykTFydShJpcm%2B035flcFooQ9lep5j7x0zUjOXt7nN%2FSvElZX%2BcK4RrCvZ9H7eIyEYwwhRjA6t7VJ7Y9K%2FLi8dr5%2FaXGJJPJukkbw969xznP5fikfn0OKIZQksyXAyKKS3uXlhfB6K2%2BjHRvnCP61ZW6nY%2BQ9wMirJHVtaHnlmkXfGtf2Vfg8Ky%2BzkKIm7KlUy0kolWiWl35kcbttAYn4UsWi9ttY7VjOyyvtx%2Fcn4f9npeMFqwt6%2F4zg2l9%2FvQDyPsr9lVcI5OLzJFlGKH7%2Ff2%2F%2FY6qQ7rf%2BzUkkiej9TftuLMfy0jXzdXoxHTIJ1tq1Y7TyFtScaMyYIe%2BjtGp2FH5ynVxNvJqkSd4uSUv6RoSWcCUWtTcd31Y0Je3qvBfJW8fk2p7kZdRYapjFBnkf5aWVN5Kx0GRWyeLEukolUrpkVvhYkev%2FAkkY14eJ4PzW1zbOyvwFkEBeAGIgL0gL5AVpgbwgLZAXpAXygrRAXpAWyAvSAnlBWiAvSAvkBWmBvCAtkBekBfKCtEBekBbIC9ICeUFaIC9IC%2BQFaYG8IC2QF6QF8oK0QF6QFsgL0gJ5QVogL0gL5AVpgbwgLZAXpAXygrRAXpAWyAvScn15%2Fe7gbdfxKBYbNreNobebN0%2BbNtcd2aNNo4lwQ2u6xu3Gvro%2BQt8rb0y92VTb9a%2Fvs83R%2FPyKs7vMt9j0fwFSVF5%2BuIlOTLA7OIvZRWm7olth9e7m1Oby4SR1m3s6n3dL7%2F2pXdojec1CkzbWfTi4Pbsre7wFv2BkLUT3Y8e%2Bxs5dHi4tL0%2B%2BrgQ0wVpeVdl28uokC7tHBQxxG7IA6Py9vDTefh1XTjd%2BHVoqPteKK8hYZgHH%2FQn%2B9YZg3LO87hPkoiT5zitJ5MryInlXH5stUXI8qpbS%2Fnge2ySBEVCNl97fVD9ZoFYmT1vEY1yr%2B9iEltMtFjN3fF%2FxHFyNFPIaAQ%2FlFXGiBB49Q5gkeSqCxtdS%2F6vK2%2FocC6bLsJGXpdRSbanCRm2VPvQnxSnUuMZ4qY8h9dXJ8YNNC6Tk1ZIYYZYM%2Beh8SfiQlwlkG18HYnm575L0V9wOtdekLqjx67iviu6EWi9WiWMZz83d9bi2vJT4T%2FgMYWYhr8gWyzs9e1gTtLcivAfuZyMgHac5KjH14frmSh8KvokLS33xH2wkh5OiV95RcUhCm3iSTK7p8vJCOPEM4Uk26Wcnr%2FByee1CqxzIKwun%2FFH6sddKRT%2Fz3XW18K9Ogu%2B8GylKUj%2F4M4Tbtdx%2BrT5dvgflbe2omMbMbQfXT%2F0oqG0l3ZBQ7m%2FuIwbyfjQCKTihRYIy4aOCtvdf%2BAzhJm992RhfHSr3yHui8vJHeiQQjzWSV9%2FXgEUMF8eaY3llMYxzqG%2FVR53PM1X%2BQ5JP3iZenchJ3i5KnfBJMHqvttcWgZYrlC2oih9M3jqmxTksdTgeLUu7r3ZudO9rIO9Ho0mxSEiTuQZNKCfcybarSHysCyKJ0W1ycOLcMZPwNs76srGTt47djsn3P7fJX4Xomn7vQb%2BMamsj57G81ySBvADEQF6QFsgL0gJ5QVogL0gL5AVpgbwgLZAXpAXygrRAXpAWyAvSAnlBWiAvSAvkBWmBvCAtkBekBfKCtEBekBbIC9ICeUFaIC9IC%2BQFaYG8IC2QF6QF8oK0QF6QFsgL0gJ5QVogL0gL5AVpgbwgLZAXpOX68k6bM9OGyX7Hb9l4et6Zm871Gy9H7%2B0xu6%2Bfpm7sfM%2BmzfpeeePo%2Fc7mfZPpFX3z6U077ZzVBthEO%2BdiG1BfXl4tTtvdfBs6CVqGzkeQtz0e4HQE%2FXMb9v3lcyoqVt66WEyc2NafxSz3F%2B3qzsiO76%2FMtv7X4NLyTsngyaMknam87b0oqXM0CeSRAOeii2OehRFIx4K0MQfb%2F1eBZnnkHlZVcZZ3JeCGOra3q6396729PVhIvwQXr7wq0TTJXd4hkA4jrxGmUdqjR1%2FR%2BaeEEKL3omrcPhnk%2FSpeS3irzq5fWSz7CinnjPtrr3XIIn1c3mce3zyOdu%2FcJ%2BS9h1FlhyzjvYGIMuSt4vjzKEH8IEF6flupNkGiW7IGvm3ByutE5THK6ynpJEsV%2BD4haptN%2FrYY%2Bnv1%2BCoWi3Us8ug%2BqU1ZEJD3Xnq1lcmTiV0nqU08V0D1tMuGtFET8p5EnpNB5xh5FxUzqrwMy2DbkIrsF1zjQDqOuaL%2B%2BO41fw%2FlfnieZFGO8%2BJFN9HlrX%2Br%2B5R5HPMPee%2FAChskX8mtkce%2B%2BmvK616hKMmU3LlNK68IQK9FwCHHJG%2BvhME4mSrpqgIWtCwdbtfLK%2FdC30PHGNp91ZePyGvasNdD3ruRCeTqUyZOBKqvV9EnmBIxRLILoSYokL%2FL22TUxznR0o6WlxNb3qdf7GYsQcijZMvfgQh24VQCeVvf9nx7v4%2FJW%2B%2BFxkbvq4XW378QF5eXqAK7ikUJpO%2BtLEU4qSqZnIiScCWRDp3gJmL867%2FAMsmvcy9aWDkVoZwdXfUUtT%2FdqnyyuPacbI%2FK2%2Fp7cmOFvA%2FQhNBitMrDE1%2Fei6Wo8k6Vy0niju8FG%2FQxKF4i71IOL5dCtze3%2FaC8%2FdPOLiQ7PppD1R%2FP4eiL5yFaiB%2BY6%2F9gC6pJn8Qq7%2FQ%2BI%2FJSBbEJDCqc6mcnmGYpb63mq5jbrmN3nywNlmZzjNsLqvPj8saLEPLeyeF3uC6vME9wVLECeRVbeTnRImGUnCjpmqnt2p7tT8TY9dNo7dG%2Fs6Qn5U1Mgu%2B8AMRAXpAWyAvSAnlBWiAvSAvkBWmBvCAtkBekBfKCtEBekBbIC9ICeUFaIC9IC%2BQFaYG8ICm3238BGq9ThkQENgEAAAAASUVORK5CYII%3D&language_type=CHN_ENG'
    headers = {
        'Content-Type': 'application/x-www-form-urlencoded',
        'Accept': 'application/json'
    }

    response = requests.request("POST", url, headers=headers, data=payload)

    print(response.text)


def get_file_content_as_base64(path, urlencoded=False):
    """
    获取文件base64编码
    :param path: 文件路径
    :param urlencoded: 是否对结果进行urlencoded 
    :return: base64编码信息
    """
    with open(path, "rb") as f:
        content = base64.b64encode(f.read()).decode("utf8")
        if urlencoded:
            content = urllib.parse.quote_plus(content)
    return content

def get_access_token():
    """
    使用 AK,SK 生成鉴权签名(Access Token)
    :return: access_token,或是None(如果错误)
    """
    url = "https://aip.baidubce.com/oauth/2.0/token"
    params = {"grant_type": "client_credentials", "client_id": API_KEY, "client_secret": SECRET_KEY}
    return str(requests.post(url, params=params).json().get("access_token"))

if __name__ == '__main__':
    main()