书写接口自动化,遇见接口有依赖关系,需要获取上个接口返回数据,在网上查找jsonpath_rw可以实现
安装:pip install jsonpath_rw
接下来是返回简书首页的第一个id值作为例子
#coding:utf-8
from jsonpath_rw import jsonpath,parse
import requests
#接口返回数据假如如下,返回的是简书的首页数据
header={
'Accept': 'application/json',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.106 Safari/537.36'
}
response=requests.get(url="https://www.jianshu.com/users/recommended?seen_ids=&count=5&only_unfollowed=true",headers=header).json()
#打印返回结果
print(response)
#希望查找users下的id值
jsonpath_expr=parse("users[*].id")
#在返回数据查找json_expr
id=jsonpath_expr.find(response)
print(id)
id_data=[match.value for match in id]
#获取第一个值
print(id_data[0])
简书首页返回结果:
{'users': [{'id': 5796592, 'slug': '86b81ed8e35c', 'nickname': '乔汉童', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/5796592/73837104-47e5-4fe9-a5be-054bd50b06f7.jpg', 'total_likes_count': 2063, 'total_wordage': 356798, 'is_following_user': False}, {'id': 9988193, 'slug': '51b4ef597b53', 'nickname': '董克平日记', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/9988193/fc26c109-1ae6-4327-a298-2def343e9cd8.jpg', 'total_likes_count': 4335, 'total_wordage': 1048047, 'is_following_user': False}, {'id': 7663825, 'slug': '78f970537a5e', 'nickname': '名贵的考拉熊', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/7663825/7c28763e-002b-4e89-8dea-5b8da210ef2c.jpg', 'total_likes_count': 19513, 'total_wordage': 267784, 'is_following_user': False}, {'id': 6652326, 'slug': 'addcee2f9c78', 'nickname': '没文化的野狐狸', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/6652326/ba6106f4-20eb-4735-885d-561083bd4e55.jpg', 'total_likes_count': 6137, 'total_wordage': 306792, 'is_following_user': False}, {'id': 278, 'slug': 'paQcNW', 'nickname': '邓哲', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/278/0778727c-c557-4ffb-929c-6ee182a58145.png', 'total_likes_count': 1491, 'total_wordage': 433989, 'is_following_user': False}], 'total_count': 43316}
[DatumInContext(value=5796592, path=Fields('id'), context=DatumInContext(value={'id': 5796592, 'slug': '86b81ed8e35c', 'nickname': '乔汉童', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/5796592/73837104-47e5-4fe9-a5be-054bd50b06f7.jpg', 'total_likes_count': 2063, 'total_wordage': 356798, 'is_following_user': False}, path=<jsonpath_rw.jsonpath.Index object at 0x000001CAF6051F40>, context=DatumInContext(value=[{'id': 5796592, 'slug': '86b81ed8e35c', 'nickname': '乔汉童', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/5796592/73837104-47e5-4fe9-a5be-054bd50b06f7.jpg', 'total_likes_count': 2063, 'total_wordage': 356798, 'is_following_user': False}, {'id': 9988193, 'slug': '51b4ef597b53', 'nickname': '董克平日记', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/9988193/fc26c109-1ae6-4327-a298-2def343e9cd8.jpg', 'total_likes_count': 4335, 'total_wordage': 1048047, 'is_following_user': False}, {'id': 7663825, 'slug': '78f970537a5e', 'nickname': '名贵的考拉熊', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/7663825/7c28763e-002b-4e89-8dea-5b8da210ef2c.jpg', 'total_likes_count': 19513, 'total_wordage': 267784, 'is_following_user': False}, {'id': 6652326, 'slug': 'addcee2f9c78', 'nickname': '没文化的野狐狸', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/6652326/ba6106f4-20eb-4735-885d-561083bd4e55.jpg', 'total_likes_count': 6137, 'total_wordage': 306792, 'is_following_user': False}, {'id': 278, 'slug': 'paQcNW', 'nickname': '邓哲', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/278/0778727c-c557-4ffb-929c-6ee182a58145.png', 'total_likes_count': 1491, 'total_wordage': 433989, 'is_following_user': False}], path=Fields('users'), context=DatumInContext(value={'users': [{'id': 5796592, 'slug': '86b81ed8e35c', 'nickname': '乔汉童', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/5796592/73837104-47e5-4fe9-a5be-054bd50b06f7.jpg', 'total_likes_count': 2063, 'total_wordage': 356798, 'is_following_user': False}, {'id': 9988193, 'slug': '51b4ef597b53', 'nickname': '董克平日记', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/9988193/fc26c109-1ae6-4327-a298-2def343e9cd8.jpg', 'total_likes_count': 4335, 'total_wordage': 1048047, 'is_following_user': False}, {'id': 7663825, 'slug': '78f970537a5e', 'nickname': '名贵的考拉熊', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/7663825/7c28763e-002b-4e89-8dea-5b8da210ef2c.jpg', 'total_likes_count': 19513, 'total_wordage': 267784, 'is_following_user': False}, {'id': 6652326, 'slug': 'addcee2f9c78', 'nickname': '没文化的野狐狸', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/6652326/ba6106f4-20eb-4735-885d-561083bd4e55.jpg', 'total_likes_count': 6137, 'total_wordage': 306792, 'is_following_user': False}, {'id': 278, 'slug': 'paQcNW', 'nickname': '邓哲', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/278/0778727c-c557-4ffb-929c-6ee182a58145.png', 'total_likes_count': 1491, 'total_wordage': 433989, 'is_following_user': False}], 'total_count': 43316}, path=This(), context=None)))), DatumInContext(value=9988193, path=Fields('id'), context=DatumInContext(value={'id': 9988193, 'slug': '51b4ef597b53', 'nickname': '董克平日记', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/9988193/fc26c109-1ae6-4327-a298-2def343e9cd8.jpg', 'total_likes_count': 4335, 'total_wordage': 1048047, 'is_following_user': False}, path=<jsonpath_rw.jsonpath.Index object at 0x000001CAF6088130>, context=DatumInContext(value=[{'id': 5796592, 'slug': '86b81ed8e35c', 'nickname': '乔汉童', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/5796592/73837104-47e5-4fe9-a5be-054bd50b06f7.jpg', 'total_likes_count': 2063, 'total_wordage': 356798, 'is_following_user': False}, {'id': 9988193, 'slug': '51b4ef597b53', 'nickname': '董克平日记', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/9988193/fc26c109-1ae6-4327-a298-2def343e9cd8.jpg', 'total_likes_count': 4335, 'total_wordage': 1048047, 'is_following_user': False}, {'id': 7663825, 'slug': '78f970537a5e', 'nickname': '名贵的考拉熊', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/7663825/7c28763e-002b-4e89-8dea-5b8da210ef2c.jpg', 'total_likes_count': 19513, 'total_wordage': 267784, 'is_following_user': False}, {'id': 6652326, 'slug': 'addcee2f9c78', 'nickname': '没文化的野狐狸', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/6652326/ba6106f4-20eb-4735-885d-561083bd4e55.jpg', 'total_likes_count': 6137, 'total_wordage': 306792, 'is_following_user': False}, {'id': 278, 'slug': 'paQcNW', 'nickname': '邓哲', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/278/0778727c-c557-4ffb-929c-6ee182a58145.png', 'total_likes_count': 1491, 'total_wordage': 433989, 'is_following_user': False}], path=Fields('users'), context=DatumInContext(value={'users': [{'id': 5796592, 'slug': '86b81ed8e35c', 'nickname': '乔汉童', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/5796592/73837104-47e5-4fe9-a5be-054bd50b06f7.jpg', 'total_likes_count': 2063, 'total_wordage': 356798, 'is_following_user': False}, {'id': 9988193, 'slug': '51b4ef597b53', 'nickname': '董克平日记', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/9988193/fc26c109-1ae6-4327-a298-2def343e9cd8.jpg', 'total_likes_count': 4335, 'total_wordage': 1048047, 'is_following_user': False}, {'id': 7663825, 'slug': '78f970537a5e', 'nickname': '名贵的考拉熊', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/7663825/7c28763e-002b-4e89-8dea-5b8da210ef2c.jpg', 'total_likes_count': 19513, 'total_wordage': 267784, 'is_following_user': False}, {'id': 6652326, 'slug': 'addcee2f9c78', 'nickname': '没文化的野狐狸', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/6652326/ba6106f4-20eb-4735-885d-561083bd4e55.jpg', 'total_likes_count': 6137, 'total_wordage': 306792, 'is_following_user': False}, {'id': 278, 'slug': 'paQcNW', 'nickname': '邓哲', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/278/0778727c-c557-4ffb-929c-6ee182a58145.png', 'total_likes_count': 1491, 'total_wordage': 433989, 'is_following_user': False}], 'total_count': 43316}, path=This(), context=None)))), DatumInContext(value=7663825, path=Fields('id'), context=DatumInContext(value={'id': 7663825, 'slug': '78f970537a5e', 'nickname': '名贵的考拉熊', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/7663825/7c28763e-002b-4e89-8dea-5b8da210ef2c.jpg', 'total_likes_count': 19513, 'total_wordage': 267784, 'is_following_user': False}, path=<jsonpath_rw.jsonpath.Index object at 0x000001CAF60881F0>, context=DatumInContext(value=[{'id': 5796592, 'slug': '86b81ed8e35c', 'nickname': '乔汉童', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/5796592/73837104-47e5-4fe9-a5be-054bd50b06f7.jpg', 'total_likes_count': 2063, 'total_wordage': 356798, 'is_following_user': False}, {'id': 9988193, 'slug': '51b4ef597b53', 'nickname': '董克平日记', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/9988193/fc26c109-1ae6-4327-a298-2def343e9cd8.jpg', 'total_likes_count': 4335, 'total_wordage': 1048047, 'is_following_user': False}, {'id': 7663825, 'slug': '78f970537a5e', 'nickname': '名贵的考拉熊', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/7663825/7c28763e-002b-4e89-8dea-5b8da210ef2c.jpg', 'total_likes_count': 19513, 'total_wordage': 267784, 'is_following_user': False}, {'id': 6652326, 'slug': 'addcee2f9c78', 'nickname': '没文化的野狐狸', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/6652326/ba6106f4-20eb-4735-885d-561083bd4e55.jpg', 'total_likes_count': 6137, 'total_wordage': 306792, 'is_following_user': False}, {'id': 278, 'slug': 'paQcNW', 'nickname': '邓哲', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/278/0778727c-c557-4ffb-929c-6ee182a58145.png', 'total_likes_count': 1491, 'total_wordage': 433989, 'is_following_user': False}], path=Fields('users'), context=DatumInContext(value={'users': [{'id': 5796592, 'slug': '86b81ed8e35c', 'nickname': '乔汉童', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/5796592/73837104-47e5-4fe9-a5be-054bd50b06f7.jpg', 'total_likes_count': 2063, 'total_wordage': 356798, 'is_following_user': False}, {'id': 9988193, 'slug': '51b4ef597b53', 'nickname': '董克平日记', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/9988193/fc26c109-1ae6-4327-a298-2def343e9cd8.jpg', 'total_likes_count': 4335, 'total_wordage': 1048047, 'is_following_user': False}, {'id': 7663825, 'slug': '78f970537a5e', 'nickname': '名贵的考拉熊', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/7663825/7c28763e-002b-4e89-8dea-5b8da210ef2c.jpg', 'total_likes_count': 19513, 'total_wordage': 267784, 'is_following_user': False}, {'id': 6652326, 'slug': 'addcee2f9c78', 'nickname': '没文化的野狐狸', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/6652326/ba6106f4-20eb-4735-885d-561083bd4e55.jpg', 'total_likes_count': 6137, 'total_wordage': 306792, 'is_following_user': False}, {'id': 278, 'slug': 'paQcNW', 'nickname': '邓哲', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/278/0778727c-c557-4ffb-929c-6ee182a58145.png', 'total_likes_count': 1491, 'total_wordage': 433989, 'is_following_user': False}], 'total_count': 43316}, path=This(), context=None)))), DatumInContext(value=6652326, path=Fields('id'), context=DatumInContext(value={'id': 6652326, 'slug': 'addcee2f9c78', 'nickname': '没文化的野狐狸', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/6652326/ba6106f4-20eb-4735-885d-561083bd4e55.jpg', 'total_likes_count': 6137, 'total_wordage': 306792, 'is_following_user': False}, path=<jsonpath_rw.jsonpath.Index object at 0x000001CAF60882B0>, context=DatumInContext(value=[{'id': 5796592, 'slug': '86b81ed8e35c', 'nickname': '乔汉童', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/5796592/73837104-47e5-4fe9-a5be-054bd50b06f7.jpg', 'total_likes_count': 2063, 'total_wordage': 356798, 'is_following_user': False}, {'id': 9988193, 'slug': '51b4ef597b53', 'nickname': '董克平日记', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/9988193/fc26c109-1ae6-4327-a298-2def343e9cd8.jpg', 'total_likes_count': 4335, 'total_wordage': 1048047, 'is_following_user': False}, {'id': 7663825, 'slug': '78f970537a5e', 'nickname': '名贵的考拉熊', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/7663825/7c28763e-002b-4e89-8dea-5b8da210ef2c.jpg', 'total_likes_count': 19513, 'total_wordage': 267784, 'is_following_user': False}, {'id': 6652326, 'slug': 'addcee2f9c78', 'nickname': '没文化的野狐狸', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/6652326/ba6106f4-20eb-4735-885d-561083bd4e55.jpg', 'total_likes_count': 6137, 'total_wordage': 306792, 'is_following_user': False}, {'id': 278, 'slug': 'paQcNW', 'nickname': '邓哲', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/278/0778727c-c557-4ffb-929c-6ee182a58145.png', 'total_likes_count': 1491, 'total_wordage': 433989, 'is_following_user': False}], path=Fields('users'), context=DatumInContext(value={'users': [{'id': 5796592, 'slug': '86b81ed8e35c', 'nickname': '乔汉童', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/5796592/73837104-47e5-4fe9-a5be-054bd50b06f7.jpg', 'total_likes_count': 2063, 'total_wordage': 356798, 'is_following_user': False}, {'id': 9988193, 'slug': '51b4ef597b53', 'nickname': '董克平日记', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/9988193/fc26c109-1ae6-4327-a298-2def343e9cd8.jpg', 'total_likes_count': 4335, 'total_wordage': 1048047, 'is_following_user': False}, {'id': 7663825, 'slug': '78f970537a5e', 'nickname': '名贵的考拉熊', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/7663825/7c28763e-002b-4e89-8dea-5b8da210ef2c.jpg', 'total_likes_count': 19513, 'total_wordage': 267784, 'is_following_user': False}, {'id': 6652326, 'slug': 'addcee2f9c78', 'nickname': '没文化的野狐狸', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/6652326/ba6106f4-20eb-4735-885d-561083bd4e55.jpg', 'total_likes_count': 6137, 'total_wordage': 306792, 'is_following_user': False}, {'id': 278, 'slug': 'paQcNW', 'nickname': '邓哲', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/278/0778727c-c557-4ffb-929c-6ee182a58145.png', 'total_likes_count': 1491, 'total_wordage': 433989, 'is_following_user': False}], 'total_count': 43316}, path=This(), context=None)))), DatumInContext(value=278, path=Fields('id'), context=DatumInContext(value={'id': 278, 'slug': 'paQcNW', 'nickname': '邓哲', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/278/0778727c-c557-4ffb-929c-6ee182a58145.png', 'total_likes_count': 1491, 'total_wordage': 433989, 'is_following_user': False}, path=<jsonpath_rw.jsonpath.Index object at 0x000001CAF6088370>, context=DatumInContext(value=[{'id': 5796592, 'slug': '86b81ed8e35c', 'nickname': '乔汉童', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/5796592/73837104-47e5-4fe9-a5be-054bd50b06f7.jpg', 'total_likes_count': 2063, 'total_wordage': 356798, 'is_following_user': False}, {'id': 9988193, 'slug': '51b4ef597b53', 'nickname': '董克平日记', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/9988193/fc26c109-1ae6-4327-a298-2def343e9cd8.jpg', 'total_likes_count': 4335, 'total_wordage': 1048047, 'is_following_user': False}, {'id': 7663825, 'slug': '78f970537a5e', 'nickname': '名贵的考拉熊', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/7663825/7c28763e-002b-4e89-8dea-5b8da210ef2c.jpg', 'total_likes_count': 19513, 'total_wordage': 267784, 'is_following_user': False}, {'id': 6652326, 'slug': 'addcee2f9c78', 'nickname': '没文化的野狐狸', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/6652326/ba6106f4-20eb-4735-885d-561083bd4e55.jpg', 'total_likes_count': 6137, 'total_wordage': 306792, 'is_following_user': False}, {'id': 278, 'slug': 'paQcNW', 'nickname': '邓哲', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/278/0778727c-c557-4ffb-929c-6ee182a58145.png', 'total_likes_count': 1491, 'total_wordage': 433989, 'is_following_user': False}], path=Fields('users'), context=DatumInContext(value={'users': [{'id': 5796592, 'slug': '86b81ed8e35c', 'nickname': '乔汉童', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/5796592/73837104-47e5-4fe9-a5be-054bd50b06f7.jpg', 'total_likes_count': 2063, 'total_wordage': 356798, 'is_following_user': False}, {'id': 9988193, 'slug': '51b4ef597b53', 'nickname': '董克平日记', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/9988193/fc26c109-1ae6-4327-a298-2def343e9cd8.jpg', 'total_likes_count': 4335, 'total_wordage': 1048047, 'is_following_user': False}, {'id': 7663825, 'slug': '78f970537a5e', 'nickname': '名贵的考拉熊', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/7663825/7c28763e-002b-4e89-8dea-5b8da210ef2c.jpg', 'total_likes_count': 19513, 'total_wordage': 267784, 'is_following_user': False}, {'id': 6652326, 'slug': 'addcee2f9c78', 'nickname': '没文化的野狐狸', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/6652326/ba6106f4-20eb-4735-885d-561083bd4e55.jpg', 'total_likes_count': 6137, 'total_wordage': 306792, 'is_following_user': False}, {'id': 278, 'slug': 'paQcNW', 'nickname': '邓哲', 'avatar_source': 'https://upload.jianshu.io/users/upload_avatars/278/0778727c-c557-4ffb-929c-6ee182a58145.png', 'total_likes_count': 1491, 'total_wordage': 433989, 'is_following_user': False}], 'total_count': 43316}, path=This(), context=None))))]
<class 'list'>
5796592