请求接口地址和获取字段值
前言
笔者上一篇 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
原创申明:以上内容是笔者个人的经验总结,仅供参考,如需转载,请注明出处
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于