模拟实现看图识花
1 # coding = utf-8 2 import json 3 import base64 4 import requests 5 # 以二进制打开图片文件 6 jjppgg = open('beautiful1.jpg', 'rb') 7 # 设置重连次数 8 requests.adapters.DEFAULT_RETRIES = 5 9 # 设置request的请求头 10 headd = { 11 "User-Agent":r"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/xxx (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36" 12 } 13 # 设置网站url,第一个是上传图片,第二个是识别服务器 14 url = "http://xxx" 15 url2 = "http://xxx" 16 # 向第一个服务器上传图片,获得缩略图的base64编码 17 r = requests.post(url, files = {"file1" :jjppgg},headers = headd) 18 #print(json.loads(r.text)) 19 # 构造向识别服务器上传的文件 20 re_getfun2 = { 21 "deviceid" : "xxx", 22 "image" : json.loads(r.text)["base64"] 23 } 24 # 根据网页JavaScript,向请求头加入content-type 25 headd.update({"Content-Type" : "application/json"}) 26 # 向识别服务器上传缩略图 27 r2 = requests.post(url2, json = re_getfun2, headers = headd) 28 # 获得识别结果并分析 29 dics = json.loads(r2.text) 30 dics2 = dics['payload'] 31 ''' 32 for key in dics2.keys(): 33 print(key,dics2[key]) 34 ''' 35 array = dics2['list'] 36 for key in array[0].keys(): 37 if 'html' in key: 38 continue 39 print("%s : %s" % (key,array[0][key]))
json传回json文件格式 { 'code': 0, 'payload': { 'api_name': 'xxxx', 'is_plant': 0.8985641057716587, 'list': [ { 'alias': '', 'description': '荨麻科,紫麻属,小乔木或灌木状', 'family': '荨麻科', 'family_latin': 'Urticaceae', 'genus': '紫麻属', 'genus_latin': 'Oreocnide', 'html_desc_h': '\n 荨麻科,紫麻属\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<big><big><big>紫麻 </big></big></big>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<i>Oreocnide frutescens</i>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n 小乔木或灌木状', 'html_desc_v': '\n 荨麻科,紫麻属\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<big><big><big>紫麻 </big></big></big>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<i>Oreocnide frutescens</i>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n 小乔木或灌木状', 'index': 88, 'latin': 'Oreocnide frutescens', 'name': '紫麻', 'reference_url': 'http://bk.iplant.cn/a/Oreocnide%20frutescens', 'sample_pic_urls': [ { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E7%B4%AB%E9%BA%BB/1232478.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E7%B4%AB%E9%BA%BB/1232478.jpg'} , { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E7%B4%AB%E9%BA%BB/1232478.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E7%B4%AB%E9%BA%BB/1232478.jpg'} , { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E7%B4%AB%E9%BA%BB/1232478.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E7%B4%AB%E9%BA%BB/1232478.jpg'} ] , 'score': 59.80876684188843, 'short_description': '小乔木或灌木状'}, { 'alias': '', 'description': '唇形科,牡荆属,灌木或小乔木', 'family': '唇形科', 'family_latin': 'Lamiaceae', 'genus': '牡荆属', 'genus_latin': 'Vitex', 'html_desc_h': '\n 唇形科,牡荆属\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<big><big><big>黄荆 </big></big></big>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<i>Vitex negundo</i>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n 灌木或小乔木', 'html_desc_v': '\n 唇形科,牡荆属\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<big><big><big>黄荆 </big></big></big>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<i>Vitex negundo</i>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n 灌木或小乔木', 'index': 4472, 'latin': 'Vitex negundo', 'name': '黄荆', 'reference_url': 'http://bk.iplant.cn/a/Vitex%20negundo', 'sample_pic_urls': [ { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E9%BB%84%E8%8D%86/1209869.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E9%BB%84%E8%8D%86/1209869.jpg'} , { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E9%BB%84%E8%8D%86/1209869.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E9%BB%84%E8%8D%86/1209869.jpg'} , { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E9%BB%84%E8%8D%86/1209869.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E9%BB%84%E8%8D%86/1209869.jpg'} ] , 'score': 11.291373521089554, 'short_description': '灌木或小乔木'}, { 'alias': '', 'description': '荨麻科,水麻属,灌木', 'family': '荨麻科', 'family_latin': 'Urticaceae', 'genus': '水麻属', 'genus_latin': 'Debregeasia', 'html_desc_h': '\n 荨麻科,水麻属\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<big><big><big>水麻 </big></big></big>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<i>Debregeasia orientalis</i>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n 灌木', 'html_desc_v': '\n 荨麻科,水麻属\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<big><big><big>水麻 </big></big></big>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<i>Debregeasia orientalis</i>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n 灌木', 'index': 4905, 'latin': 'Debregeasia orientalis', 'name': '水麻', 'reference_url': 'http://bk.iplant.cn/a/Debregeasia%20orientalis', 'sample_pic_urls': [ { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E6%B0%B4%E9%BA%BB/1227446.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E6%B0%B4%E9%BA%BB/1227446.jpg'} , { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E6%B0%B4%E9%BA%BB/1227446.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E6%B0%B4%E9%BA%BB/1227446.jpg'} , { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E6%B0%B4%E9%BA%BB/1227446.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E6%B0%B4%E9%BA%BB/1227446.jpg'} ] , 'score': 2.486102096736431, 'short_description': '灌木'}, { 'alias': '', 'description': '豆科,长柄山蚂蝗属,直立草本', 'family': '豆科', 'family_latin': 'Leguminosae', 'genus': '长柄山蚂蝗属', 'genus_latin': 'Hylodesmum', 'html_desc_h': '\n 豆科,长柄山蚂蝗属\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<big><big><big>长柄山蚂蝗 </big></big></big>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<i>Hylodesmum podocarpum</i>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n 直立草本', 'html_desc_v': '\n 豆科,长柄山蚂蝗属\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<big><big><big>长柄山蚂蝗 </big></big></big>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<i>Hylodesmum podocarpum</i>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n 直立草本', 'index': 4309, 'latin': 'Hylodesmum podocarpum', 'name': '长柄山蚂蝗', 'reference_url': 'http://bk.iplant.cn/a/Hylodesmum%20podocarpum', 'sample_pic_urls': [ { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E9%95%BF%E6%9F%84%E5%B1%B1%E8%9A%82%E8%9D%97/387012.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E9%95%BF%E6%9F%84%E5%B1%B1%E8%9A%82%E8%9D%97/387012.jpg'} , { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E9%95%BF%E6%9F%84%E5%B1%B1%E8%9A%82%E8%9D%97/387012.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E9%95%BF%E6%9F%84%E5%B1%B1%E8%9A%82%E8%9D%97/387012.jpg'} , { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E9%95%BF%E6%9F%84%E5%B1%B1%E8%9A%82%E8%9D%97/387012.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E9%95%BF%E6%9F%84%E5%B1%B1%E8%9A%82%E8%9D%97/387012.jpg'} ] , 'score': 1.554813701659441, 'short_description': '直立草本'}, { 'alias': '棣棠升麻', 'description': '蔷薇科,假升麻属,多年生草本', 'family': '蔷薇科', 'family_latin': 'Rosaceae', 'genus': '假升麻属', 'genus_latin': 'Aruncus', 'html_desc_h': '\n 蔷薇科,假升麻属\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<big><big><big>假升麻 </big></big></big>(棣棠升麻)\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<i>Aruncus sylvester</i>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n 多年生草本', 'html_desc_v': '\n 蔷薇科,假升麻属\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<big><big><big>假升麻 </big></big></big>(棣棠升麻)\n<small><small><small><small></small><small><br><br></small></small></small></small>\n<i>Aruncus sylvester</i>\n<small><small><small><small></small><small><br><br></small></small></small></small>\n 多年生草本', 'index': 841, 'latin': 'Aruncus sylvester', 'name': '假升麻', 'reference_url': 'http://bk.iplant.cn/a/Aruncus%20sylvester', 'sample_pic_urls': [ { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E5%81%87%E5%8D%87%E9%BA%BB/170700.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E5%81%87%E5%8D%87%E9%BA%BB/170700.jpg'} , { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E5%81%87%E5%8D%87%E9%BA%BB/170700.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E5%81%87%E5%8D%87%E9%BA%BB/170700.jpg'} , { 'pic_big': 'http://classify.nongbangzhu.cn/samples/%E5%81%87%E5%8D%87%E9%BA%BB/170700.jpg', 'pic_small': 'http://classify.nongbangzhu.cn/samples/%E5%81%87%E5%8D%87%E9%BA%BB/170700.jpg'} ] , 'score': 1.3837077654898167, 'short_description': '多年生草本' } ], 'uuid': 'xxxx'} }