import http.client, urllib.request, urllib.parse, urllib.error, base64
headers = {
# Request headers
'Content-Type': 'application/octet-stream',
'Ocp-Apim-Subscription-Key': '6b106d11b891490298ebecbc1f99eb85',
}
params = urllib.parse.urlencode({"url": "https://api.projectoxford.ai/emotion/v1.0/recognize"})
pathToFileInDisk = r'em.jpg'
with open(pathToFileInDisk, 'rb' ) as f:
body = f.read()
try:
conn = http.client.HTTPSConnection('api.projectoxford.ai')
conn.request("POST", "/emotion/v1.0/recognize?%s" % params,body, headers)
response = conn.getresponse()
data = response.read()
print(data)
conn.close()
except Exception as e:
print("[Errno {0}] {1}".format(e.errno, e.strerror))
data = eval(data)
##print('转换后的:',data)
data = data[0]['scores']
##print('把score提取出来之后的:',data)
data=sorted(data.items(),key=lambda items:items[1],reverse=True)
##print('排序后的:',data)
firste=data[0][0]
if(data[1][1]>0.1):
seconde=data[1][0]
else:
seconde=0
##print(firste)
##print(seconde)
'''
num = len(data)
ret = []
for i in range(0, num):
ret.append(sorted(data[i]["scores"], reverse=True,key=lambda x: data[i]["scores"][x])[0])
ret = str(ret)
print(set)
##比较高端的写法,python3里有待测试
'''
类型转换贼麻烦,转换了无数个类型,高端的写法无法直接在python3里运行,有待进一步尝试,已经过滤出了频率较高的表情,下一步准备针对表情进行进一步推送。