Python API调用中传递多个字符串参数获取全部返回结果的方法
解决方案
randomuser.me 官方API未支持单次请求传入多个seed参数的能力,单个请求仅会识别第一个seed的值,因此你之前拼接多seed的写法无法生效,可选择以下两种方案实现需求:
方案1:循环发起单seed请求+合并结果(适用于需要固定11个seed对应特定profile的场景)
将所有需要查询的seed存入列表,循环调用接口后把所有结果合并处理即可,示例代码如下:
import requests # 替换为你完整的11个seed值 seed_list = ["7D3375FE", "A87F7113", "其余9个seed值依次填入"] all_profile_data = [] for seed in seed_list: response = requests.get( url="https://randomuser.me/api/", params={"seed": seed} ) # 可根据需要增加异常、状态码判断逻辑 if response.status_code == 200: all_profile_data.append(response.json()) # 后续直接处理all_profile_data内的11组结果即可
该方案可以保证每个seed返回的profile和单独请求时的结果完全一致,匹配你需要解析指定profile的需求。
方案2:单次请求返回多结果(适用于不需要固定seed,仅需获取11个随机用户profile的场景)
如果你不需要固定seed对应的特定结果,仅需要一次性拿到11个用户数据,可以直接使用接口自带的results参数实现单次请求拿多组结果:
import requests response = requests.get( url="https://randomuser.me/api/", params={"results": 11} ) user_list = response.json()["results"]
该方案仅需发起一次请求,性能更高,但返回的用户是随机生成的,和你指定的seed无关联。
内容的提问来源于stack exchange,提问作者TechCabana
相关产品推荐
相关产品推荐

