返回列表结果数据再请求详情

get请求返回一个列表,取出列表中的所有Id,然后再请求id的详情,存到一个字典中,对应格式为{id:value}

'''

import requests
from common.comon_login import  *
host='******'  # 测试地址

1、先用get请求获取列表数据
def get_list_mareial(s):
    url=host+'/api/dict/material?Type=0&CategoryId=&SkipCount=0&maxResultCount=30&sorting='
    header = {
        'Accept-Language': 'zh-Hans'
    }
    res=s.get(url=url,headers=header)
    print(res.json()) # 输出json格式文件

 2、 使用jsonpath依赖包的方法提取id
    res_list=res.json()['items']
    print('res_list的结果为%s'%res_list)
    import jsonpath
    res_2=jsonpath.jsonpath(res_list,'$.*.id')  # 由于这个请求下的list中的值有id,并且还嵌套其他的id,因为使用该方法取值,即定位在 根节点下的当前节点下的所有文件下的id的值
    print(res_2)

3、定义一个空的dic1准备存放数据
    dic1={}
    for i in res_2:
        # print(i)
        url2=host+'/api/dict/material/'+'%s'%i # 将i传入
        res_res_2=s.get(url=url2)
        if i not in dic1.keys():  # 判断Id是都存在,不存在则加入字典中,并把响应作为value存在
            dic1[i]=res_res_2      # i是一个变量,直接作为key传入即可。
    print(dic1)
 

if __name__=='__main__':
    s=requests.session()
    login(s,username='test',password='***')
    get_list_mareial(s)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值