请求接口地址和获取字段值
前言
笔者上一篇 blog 主要简单介绍了用 jmeter 做接口测试,本篇 blog 主要简单介绍用 Python 做接口测试,想要看懂代码内容,需要具备 Python 基础知识,具体可以参考笔者的 blog Python 基础知识
接口地址:
http://t.weather.sojson.com/api/weather/city/101030100
1、请求上面的网址,打印请求结果
2、解析请求结果。
1)取出请求里的 cityInfo 中的 city 字段值
2)取出请求里的每天的风向,也就是 fx 字段
import requests,json r = requests.get('http://t.weather.sojson.com/api/weather/city/101030100') # print(r.content.decode('utf-8')) # 打印请求结果 # eval函数主要作用就是将字符串str当成有效的表达式来求值并返回计算结果 # eval函数就是实现list、dict(字典类)、tuple(元祖类)与str之间的转化 # a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]" --->a是一个字符串 # 打印a的类型:print(type(a))-----》结果:<class 'str'> # 把字符串a转换成dict(字典类) # b = eval(a) # print(type(b)) # print(b) #执行结果: #<class 'list'> #[[1, 2], [3, 4], [5, 6], [7, 8], [9, 0]] res = eval(r.content.decode('utf-8')) # 字典取值 ,取出请求里的cityInfo中的city字段值 print(res['cityInfo']['city']) # 获取单个fx的值,此处的forecast是一个列表,列表中有5个表项 # 每个表项是一个字典,如果字典中想要取某个value值,直接输入key名即可 # 下面的例子是想取出forecast列表中第一个表项中fx对应的值 print(res['data']['forecast'][0]['fx']) # 下面的例子是想取出所有fx对应的值,使用到for循环 # 思路是先使用len()函数获取列表长度,然后再使用for循环 forcast = res['data']['forecast'] i = len(forcast) for i in range(i): print(res['data']['forecast'][i]['fx'])
接口响应内容
import requests,json r = requests.get('http://t.weather.sojson.com/api/weather/city/101030100') print(r.content.decode('utf-8')) # 打印请求结果
运行结果
取出请求里的 cityInfo 中的 city 字段值
import requests,json r = requests.get('http://t.weather.sojson.com/api/weather/city/101030100') res = eval(r.content.decode('utf-8')) # 字典取值 print(res['cityInfo']['city'])
运行结果
取出 forecast 列表中第一个表项中 fx 对应的值
import requests,json r = requests.get('http://t.weather.sojson.com/api/weather/city/101030100') res = eval(r.content.decode('utf-8')) print(res['data']['forecast'][0]['fx'])
运行结果
取出所有 fx 对应的值,使用到 for 循环
import requests,json r = requests.get('http://t.weather.sojson.com/api/weather/city/101030100') res = eval(r.content.decode('utf-8')) # 思路是先使用len()函数获取列表长度,然后再使用for循环 forcast = res['data']['forecast'] i = len(forcast) for i in range(i): print(res['data']['forecast'][i]['fx'])
运行结果
以上,over
原创申明:以上内容是笔者个人的经验总结,仅供参考,如需转载,请注明出处
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于