基于python 2.7
'''
获取access_token
'''
import urllib, urllib2, sys
import ssl
# client_id 为官网获取的AK, client_secret 为官网获取的SK
host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【官网获取的AK】&client_secret=【官网获取的SK】'
request = urllib2.Request(host)
request.add_header('Content-Type', 'application/json; charset=UTF-8')
response = urllib2.urlopen(request)
content = response.read()
if (content):
print(content)
# 提取其中"access_token":"************",下面会用到
'''
通用物体和场景识别:批量识别文件夹下图片,并将识别结果写入本地txt文件
'''
import base64
import urllib
import urllib2
import os
import time
path = '本地图片保存目录'
request_url = "https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced_general"
for i in os.listdir(path):
if i.endswith('jpg'):
# 二进制方式打开图片文件
f = open(os.path.join(path, i), 'rb')
img = base64.b64encode(f.read())
params = {"image": img}
params = urllib.urlencode(params)
access_token = "************" # 上面保存的
request_url = request_url + "?access_token=" + access_token
request = urllib2.Request(url=request_url, data=params)
request.add_header('Content-Type', 'application/x-www-form-urlencoded')
response = urllib2.urlopen(request)
content = response.read()
if content:
f = open('本地txt文件path', 'a+')
f.write(i+'\n'+content+'\n')
f.close()
print(i+'\n'+content+'\n')
# os.remove(os.path.join(path, i)) #删除本地已识别过的图片,慎选
time.sleep(2) # 免费版批量调用不保证并发量