100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python百度识别花草_用python代码实现调用百度的植物识别接口

python百度识别花草_用python代码实现调用百度的植物识别接口

时间:2020-02-20 01:53:56

相关推荐

python百度识别花草_用python代码实现调用百度的植物识别接口

# coding=utf-8

import requests

import base64

import unittest

import time

class WordScanTest(unittest.TestCase): # unittest.TestCase类的函数要在函数名称前加个test

def setUp(self):

token_url = "/oauth/2.0/token"

params_token = {"grant_type": "client_credentials", "client_id": "8OV91RvG4wYt5stCpUsaVEuE",

"client_secret": "ZqWAkGBo2vOTQx3Tsv5gDI68nAAlSB5j"}

response_token = requests.post(token_url, data=params_token)

self.access_token = response_token.json()["access_token"] # 获取token

self.url = "/rest/2.0/image-classify/v1/plant"

def test_wordScan(self): # unittest.TestCase类的函数要在函数名称前加个test。参数正确

f = open(r"C:\Users\Torres\Desktop\bohe.png", "rb") # r是read,b是用二进制方式

img = base64.b64encode(f.read())

params = {"image": img}

request_url = self.url + "?access_token=" + self.access_token

headers = {"Content-Type": "application/x-www-form-urlencoded"}

response = requests.post(request_url, data=params, headers=headers)

result = response.json()

self.assertEqual(result["result"][0]["name"], u"\u8584\u8377") # Unicode编码\u8584\u8377 是薄荷

self.assertEqual(result["result"][1]["name"], u"\u7559\u5170\u9999") # \u8377\u82b1 是留兰香

self.assertEqual(result["result"][2]["name"], u"\u98ce\u8f6e\u83dc") # \u98ce\u8f6e\u83dc是风轮菜

time.sleep(1)

def test_wordScan_params_error(self):

f = open(r"C:\Users\Torres\Desktop\key.txt", "rb") # 参数(图片)错误

img = base64.b64encode(f.read())

params = {"image": img}

request_url = self.url + "?access_token=" + self.access_token

headers = {"Content-Type": "application/x-www-form-urlencoded"}

response = requests.post(request_url, data=params, headers=headers)

result = response.json()

# self.assertEqual(result["log_id", "1029526340702707918"])

self.assertEqual(result["error_code"], 216201)

self.assertEqual(result["error_msg"], "image format error")

time.sleep(1)

def test_wordScan_no_params(self): # 缺少参数

request_url = self.url + "?access_token=" + self.access_token

headers = {"Content-Type": "application/x-www-form-urlencoded"}

response = requests.post(request_url, headers=headers)

result = response.json()

self.assertEqual(result["error_code"], 216101)

self.assertEqual(result["error_msg"], "param image not exist")

if __name__ == "__main__":

unittest.main()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。