如何用循环修改HTTP JSON GET请求的indcode参数简化Python代码
优化重复请求的方案
当然可以用循环来重构这段代码,既能避免冗余的重复调用,后续新增indcode也更方便维护。
优化后的代码
import requests # 定义基础请求参数 paraD = { "area": "123", "periodtype": "2", "$limit": 1000 } # 把需要查询的indcode统一放到列表里 target_indcodes = ["722", "445", "311"] output = [] # 循环遍历每个indcode,执行请求并收集数据 for indcode in target_indcodes: paraD["indcode"] = indcode response = requests.get(dataURL, params=paraD) bizdata = response.json() output.extend(bizdata) # 将当前请求的数据合并到总结果列表
关键说明
- 把要查询的
indcode集中管理在列表里,后续新增编码只需往列表里添加即可,不用修改请求逻辑 - 用
extend()方法直接将每次请求返回的列表数据合并到总结果里,和你原来用+拼接的效果完全一致 - 循环只保留一套请求逻辑,避免了重复写三次几乎相同的代码,可读性和可维护性更好
内容的提问来源于stack exchange,提问作者user2205861
相关产品推荐
相关产品推荐

