一、获取百度AI的的AccessToken

  1. # 获取百度的AccessToken
  2. def GetAccessToken():
  3. apiKey = "xxx"
  4. secretKet = "xxx"
  5. # url不需要修改
  6. url = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={}&client_secret={}&"
  7. .format(apiKey, secretKet)
  8. response = requests.post(url=url)
  9. return eval(response.text)["access_token"]

二、通过百度AI识别发票信息

这段是从类函数里面摘抄出来改的,可能会有点小小的bug,用的时候再改吧。

  1. # 通过百度云识别发票信息
  2. def get_response(fileName):
  3. # 发票文件转换为二进制
  4. f = open(fileName, 'rb')
  5. invoiceFile = base64.b64encode(f.read())
  6. # 设置url
  7. request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/vat_invoice"
  8. access_token = "xxx"
  9. # 根据前两行自动设置
  10. request_url = request_url + "?access_token=" + access_token
  11. # 设置其他参数
  12. headers = {'content-type': 'application/x-www-form-urlencoded'}
  13. # 默认是图片
  14. params = {"image": invoiceFile}
  15. # 如果是pdf转pdf
  16. if ".pdf" in fileName:
  17. params = {"pdf_file": invoiceFile}
  18. response = requests.post(request_url, data=params, headers=headers)
  19. # 保存到self
  20. response = response.json()['words_result']
  21. return response