基於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) # 免費版批量調用不保證併發量