You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何拆分URL指定区间内容并聚合同路径URL的全部查询参数

实现方案

你可以用字典存储每个基础路径对应的参数键集合,自动完成同路径参数的去重聚合,完整实现代码如下:

from collections import defaultdict

# 存储结构:key为URL基础路径,value为该路径对应的参数键集合
path_params = defaultdict(set)

# 第一步:读取原文件提取基础路径和参数键
with open("file.txt", "r", encoding="utf-8") as f:
    for line in f:
        line = line.strip()
        if not line:
            continue
        # 剥离<p></p>标签
        raw_url = line.removeprefix("<p>").removesuffix("</p>")
        if "?" not in raw_url:
            path_params[raw_url] = set()
            continue
        # 拆分基础路径和查询串
        base_path, query_str = raw_url.split("?", 1)
        # 处理转义的&分隔符,拆分所有键值对提取参数键
        for kv in query_str.replace("&amp;", "&").split("&"):
            if "=" in kv:
                param_key = kv.split("=")[0]
                path_params[base_path].add(param_key)

# 第二步:拼接要求格式输出到结果文件
with open("output.txt", "w", encoding="utf-8") as f:
    for base_path, param_keys in path_params.items():
        # 按a/b/c/d的顺序排序参数键,和示例输出顺序一致
        sorted_keys = sorted(param_keys)
        # 拼接参数串
        query_part = "&".join([f"{key}=" for key in sorted_keys])
        final_line = f"<p>{base_path}?{query_part}</p>\n"
        f.write(final_line)

如果不需要固定参数的输出顺序,删掉sorted()直接遍历param_keys即可。

内容的提问来源于stack exchange,提问作者Gaming World

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 16:45:00