python获取接口返回值,python 抓取解析接口数据
这篇文章主要介绍了大蟒接口返回数据,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
目录
解析接口返回数据1、把数据格式的数据2、把变成目录的请求和预期一一对比3、测试一下看是否正确完整代码大蟒请求接口,抓取返回的数据代码如下
解析接口返回数据
1、把json格式的数据
转换成单个{键,值}的形式,并把每个词典存入目录
定义解析(自身,数据): #解析数据格式的数据,生成目录
对于键,值在数据项目():中
if isinstance(value,dict):
自我解析(值)
elif isinstance(值,列表):
对于范围内的k(len(value)):
# 由于目录没有项目,所以一个一个遍历利斯里面的值,然后针对目录的每一个项进行解析
自我解析(值[k])
else:
自我附加({key:值})
回归自我L
2、把 变成list的request 和expect一一对比
得知预期值和返回值是否是相符合
def compare(self,resjson,targjson): #比较两个数值返回,如果相等,则返回没错,否则返回错误的
self.init()
res_list=self.parse(resjson)
self.init()
targ_list=self.parse(targjson)
计数=长度(目标列表)
同时计数:
if targ_list[count - 1]在res_list: #列表中里面,成员运算符,在或不在
计数-=1
else:
返回错误的
返回真实的
3、测试一下看是否正确
if __name__==__main__:
t=工具()
请求={
head: {
clientId: 12 ,
appUDID: ,
appVersion: ,
channelId: ,
内置媒体 : ,
外部媒体 : ,
subClientId: h5 ,
产地 : ,
测试 :[{ 哈哈 : 哈哈 }]
},
body: {
用户名 : 您用户名,
密码 : 密码
}
}
expect={ 用户名 : 您的用户名,密码 : 密码 }
# print(t.parse(request))
print(t.compare(request,expect))
结果:返回真或假,因为用户名两边大小写不一致,所以返回为错误的
小结:这个从语法上分析加比较函数,就可以在接口返回结果时候,直接assert(),得出对还是错
完整代码
分类工具:
def __init__(self):
自我L=[]
定义初始化(自身):
自我L=[]
定义解析(自身,数据): #解析数据格式的数据,生成目录
对于键,值在数据项目():中
if isinstance(value,dict):
自我解析(值)
elif isinstance(值,列表):
对于范围内的k(len(value)): #由于目录没有项目,所以一个一个遍历利斯里面的值,然后针对目录的每一个项进行解析
自我解析(值[k])
else:
自我附加({key:值})
回归自我L
def compare(self,resjson,targjson): #比较两个数值返回,如果相等,则返回没错,否则返回错误的
self.init()
res_list=self.parse(resjson)
self.init()
targ_list=self.parse(targjson)
计数=长度(目标列表)
同时计数:
if targ_list[count - 1]在res_list: #列表中里面,成员运算符,在或不在
计数-=1
else:
返回错误的
返回真实的
python请求接口,抓取返回的数据
代码如下
# 引入包
导入urllib2
导入数据
导入系统
url=http://alisleepy.top #接口地址
响应结果=URL lib 2。URL打开(URL,无,超时=2000)
code=responseResult.getcode()
打印接口状态码:字符串(代码)
如果码!=200:
sys.exit(请求失败,请检查接口是否正确!)
#检查数据,看是否符合预期。
data=json . loads(response result . read())#反序列化JSON数据
打印“代码代码3360”字符串(数据[代码])
打印“消息信息:”字符串(数据[消息])
以上个人经验,希望给你一个参考,也希望你能支持盛行的IT软件开发工作室。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。