1 from urllib import request 2 import base64 3 import requests 4 import re 5 import json 6 import urllib 7 import os 8 9 # 获取token 10 def get_token(client_id,client_secret): 11 host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id='+ client_id + '&client_secret='+ client_secret + '' 12 headers = {'Content-Type': 'application/json; charset=UTF-8'} 13 res = requests.post(host, headers=headers) 14 access_token = re.findall('"access_token":"(.*?)"', res.text)[0] 15 return access_token 16 17 # 打开文件夹,进行对比 18 def geturlPath(path): 19 dirs = os.listdir(path) 20 lst = [] 21 for dir1 in dirs: 22 path = + PA dir1 23 is lst.append (PA) 24 return LST 25 26 is # open the local image, and converted into Base64 27 DEF open_pic2base (Image): 28 F = Open (Image, ' RB ' ) 29 IMG = base64.b64encode . (reached, f.read ()) decode ( ' UTF-. 8 ' ) 30 return IMG 31 is 32 DEF Search (Image3, client_id, client_secret, Groups): 33 is request_url = " https://aip.baidubce.com/rest/2.0 / face / v3 / Search " 34 for image in image3: 35 a = open_pic2base(image) 36 params =json.dumps({"image":a,"image_type":"BASE64","group_id_list":groups}) 37 access_token = get_token(client_id, client_secret) 38 request_url = request_url + "?access_token=" + access_token 39 params = params.encode("utf-8") 40 41 request = urllib.request.Request(url=request_url, data=params) 42 43 request.add_header('Content-Type', 'application/json') 44 response = urllib.request.urlopen(request) 45 content = response.read() 46 user = 'not find' 47 if content: 48 result = json.loads(content.decode('utf-8')) 49 print(result) 50 if result['error_code']==0: 51 lst = [] 52 sets = {} 53 user=result['result']['user_list'][0] 54 group_id = user["group_id"] 55 user_id=user['user_id'] 56 score = user['score'] 57 sets [ " host group " ] = group_id 58 sets [ " similar user " ] = user_id 59 sets [ " similarity score " ] = Score 60 lst.append (sets) 61 is Print (LST) 62 is IF Score> 85 : 63 add_face2ku = face_add (Image, group_id, user_id) 64- the else : 65 Pass 66 67 DEF face_add (Image, group_id, user_id): 68 request_url = 'https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/add' 69 params = json.dumps({"image":open_pic2base(image),"image_type":"BASE64","group_id":group_id,"user_id":user_id}) 70 access_token = get_token(client_id, client_secret) 71 request_url = request_url + "?access_token=" + access_token 72 params = params.encode("utf-8") 73 request = urllib.request.Request(url=request_url, data=params) 74 request.add_header('Content-Type', 'application/json') 75 response = urllib.request.urlopen(request) 76 return response 77 78 if __name__ == '__main__': 79 client_id = 'MeZaaKIbOt5DGp4cfxGpv4wa' 80 client_secret = ' ImadHITTnAvtGkLeugrNUNuG3NOdiE7Q ' 81 path = R & lt ' G: / images5 / ' 82 83 Image3 = geturlPath (path) 84 85 # picture gallery compared with incoming specified group 86 Search (Image3, client_id, client_secret, ' the Actor ' )