如何动态将列表数据按5个一组添加到API路径中?
解决方案
步骤1:拆分列表为每组最多5个元素
利用Python切片语法,按步长5遍历列表,每次截取最多5个元素的子列表:
values = ['MP55', 'MP50', 'MP51', 'MP54', 'MP58', 'MP59', 'MP60', 'MP60', 'MP61', 'MP62', 'MP50', 'MP58', 'MP65'] # 按每组最多5个拆分 groups = [values[i:i+5] for i in range(0, len(values), 5)]
步骤2:生成API端点并发起请求
对每个分组,用','.join()拼接成逗号分隔的字符串,插入到API路径中,调用接口后将结果存入MongoDB:
import requests from pymongo import MongoClient # 初始化MongoDB连接(根据实际部署调整连接参数) client = MongoClient('mongodb://localhost:27017/') db = client['your_database'] collection = db['your_collection'] base_url = 'https://www.google.com/' for group in groups: # 拼接分组为逗号分隔字符串 params = ','.join(group) # 生成完整API路径 api_url = f"{base_url}{params}" # 发起API请求 response = requests.get(api_url) # 处理响应并写入MongoDB(根据API返回格式调整) if response.status_code == 200: result = response.json() collection.insert_one(result) else: print(f"请求失败:状态码{response.status_code},URL:{api_url}")
关键说明
- 切片
values[i:i+5]会自动适配最后一组不足5个元素的情况(比如示例中最后一组为['MP50', 'MP58', 'MP65'])。 - 若API使用POST等其他请求方式,可替换为
requests.post(),并根据接口要求调整参数传递逻辑。 - MongoDB连接字符串需结合实际部署环境修改(如添加用户名、密码、集群地址等)。
内容的提问来源于stack exchange,提问作者adiSF
相关产品推荐
相关产品推荐

