百度人脸识别api小应用
首先在https://ai.baidu.com/上注册api,通过appid,secret等获取access_token
把某教育机构教师头像及姓名上传百度头像库
把某机构教师头像及姓名上传百度头像库
import requests
from urllib.parse import quote
import time
#----------------常数区--------------------
res=requests.session()
dic={}
access_token=''#通过百度api获取access_token
h={
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 11_0_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.192 Safari/537.36',
'content-type': 'text/html;Charset=utf-8;;charset=UTF-8'
}
#---------------函数区-----------------------
def getlib():
#-----------爬取教师图片及姓名-------------
for i in range(1,4):
url='http://www.jinging.com/TeacherInfo/GetTeacherInfoBySubject?subjectId=0&gradeSection='+str(i)
s=res.get(url).json()
for j in s:
name=j['TeacherName']
pic=j['ImagePath']
id=j['TeacherID']
dic.update({id:[name,pic]})
def addpic(pic,name,info):
#----------上传至百度头像库----------------
api_url = "https://aip.baidubce.com/rest/2.0/face/v3/faceset/user/add"
params = "{\"image\":\""+pic+"\",\"image_type\":\"URL\",\"group_id\":\"jy\",\"user_id\":\""+name+"\",\"user_info\":\""+quote(info)+"\"}"
url = api_url + "?access_token=" + access_token
headers = {"Content-Type": "application/json;charset=utf-8",}
s = requests.post(url, data=params, headers=headers).json()
print(s)
if __name__ == '__main__':
getlib()
for i in dic:
try:
addpic(dic[i][1],str(i),dic[i][0])
time.sleep(0.5)#--百度免费api调用2次/s
except:
pass
人脸识别程序
import requests
import base64
from urllib.parse import unquote
#----------------常数区--------------------
access_token=''#通过百度api获取access_token
#---------------函数区-----------------------
def shibie(s):
request_url = "https://aip.baidubce.com/rest/2.0/face/v3/search"
params = "{\"image\":\""+s+"\",\"image_type\":\"BASE64\",\"group_id_list\":\"1,jy\"}"
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/json'}
response = requests.post(request_url, data=params, headers=headers).json()['result']['user_list']
for i in response:
score=i['score']
name=unquote(i['user_info'])
print(name,' ',score)
if __name__ == '__main__':
s=base64.b64encode(open('1.jpg','rb').read()).decode()
shibie(s)
百度api可以用于很多情况,除了这种识别员工,也可以爬起来名人,网红,或者岛国老师等,识别准确率还可以,每个人物可以提供最多20张照片,照片越多,准确率越高

老魏的公众号,会发布一些爬虫案例和一点经验,欢迎大家一起来交流,喜欢可以关注下哦
1万+

被折叠的 条评论
为什么被折叠?



