如何为列表中的基础URL追加查询参数批量生成目标URL
实现方案
针对你给出的场景(所有原始URL均已携带查询参数,可直接追加&开头的新参数),不同语言下的最简实现如下:
Python 实现
使用嵌套列表推导式一行即可完成转换:
# 原始URL列表 original_urls = [ "https://www.xxx.xxx/classroom/getTextNew.php?id=24&l=1", "https://www.xxx.xxx/classroom/getTextNew.php?id=24&l=2" ] # 生成目标列表 result = [f"{url}&c={c}" for url in original_urls for c in (1,2,3)]
JavaScript 实现
搭配flatMap合并子数组,一行完成转换:
// 原始URL列表 const originalUrls = [ "https://www.xxx.xxx/classroom/getTextNew.php?id=24&l=1", "https://www.xxx.xxx/classroom/getTextNew.php?id=24&l=2" ] // 生成目标列表 const result = originalUrls.flatMap(url => [1,2,3].map(c => `${url}&c=${c}`))
Shell/Bash 实现
命令行场景下用printf批量拼接即可:
# 原始URL列表 original_urls=( "https://www.xxx.xxx/classroom/getTextNew.php?id=24&l=1" "https://www.xxx.xxx/classroom/getTextNew.php?id=24&l=2" ) # 输出所有目标URL printf "%s&c=%s\n" "${original_urls[@]}" {1..3}
如果你实际使用场景中存在不带查询参数的URL,只需要加一层判断:URL中存在
?就用&c=拼接,不存在就用?c=拼接即可。
内容的提问来源于stack exchange,提问作者retr0327
相关产品推荐
相关产品推荐

