百度AI文字识别--python笔记

百度AI文字识别--python笔记

网址:http://ai.baidu.com/docs#/OCR-API/top

# coding:utf-8
import urllib, urllib2, base64


access_token = '#####调用鉴权接口获取的token#####'
url = 'https://aip.baidubce.com/rest/2.0/ocr/v1/general?access_token=' + access_token
# 二进制方式打开图文件
f = open(r'########本地文件#######', 'rb')
# 参数image:图像base64编码
img = base64.b64encode(f.read())
params = {"image": img}
params = urllib.urlencode(params)
request = urllib2.Request(url, params)
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
response = urllib2.urlopen(request)
content = response.read()
if (content):
    print(content)

access_token 为url请求参数,要添加到url中。以二进制打开图片,然后对其进行base64编码。

请求方式为post请求。data(请求体,json)为params,需要对data进行urlencode编码。

也可以这样写

# params={}
# params['image']=ls_f
# params=urllib.urlencode(params)

对请求参数进行urlencode编码的原因有

1.是因为当字符串数据以url的形式传递给web服务器时,字符串中是不允许出现空格和特殊字符

2.因为 url 对字符有限制,比如把一个邮箱放入 url,就需要使用 urlencode
 函数,因为 url 中不能包含 @ 字符。另外,url中出现&会截断字符串。
 

3.url转义其实也只是为了符合url的规范而已。因为在标准的url规范中中文和很多的字符是不允许出现在url中的。

 

 

 

 

 

 

4.url中如果有个参数值时url,在传输时则会出现很多错误。此时就需要进行urlencode编码。



  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值