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

如何用Python解析URL并提取指定分段内容至变量?

Python 动态提取URL指定字段并存储变量

需求说明

从目标URL中提取指定片段存入对应变量:

  • 变量x存储URL中的1.2.3
  • 变量y存储URL中的7/8/9
  • 变量z存储URL中的1.2.3/4/5/6/7
    示例URL:https://Thedog.big.com//red/house/large/1.2.3/4/5/6/7/8/9

要求脚本可轻松更新维护,适配URL中动态变化的字段。

实现方案

通过拆分URL路径的方式实现,将路径按/分割后通过索引定位目标片段,同时把提取规则抽象为配置参数,方便后续修改。

代码示例

from urllib.parse import urlparse

def extract_url_fields(url, config):
    # 解析URL并清理路径中的空片段(处理示例里的双斜杠)
    path_parts = [part for part in urlparse(url).path.split('/') if part]
    
    # 提取x:取配置索引对应的片段
    x = path_parts[config['x_index']]
    
    # 提取z:从x的起始索引到z的结束索引拼接片段
    z_parts = path_parts[config['x_index']:config['z_end_index']+1]
    z = '/'.join(z_parts)
    
    # 提取y:从y的起始索引到末尾拼接片段
    y_parts = path_parts[config['y_start_index']:]
    y = '/'.join(y_parts)
    
    return x, y, z

# 配置参数:后续URL结构变化仅需修改这里的索引
extract_config = {
    'x_index': 3,        # 对应示例中"1.2.3"的位置
    'z_end_index': 7,    # 对应示例中"7"的位置(z的最后一个片段)
    'y_start_index': 7   # 对应示例中"7"的位置(y的起始片段)
}

# 示例URL
sample_url = "https://Thedog.big.com//red/house/large/1.2.3/4/5/6/7/8/9"

# 执行提取
x, y, z = extract_url_fields(sample_url, extract_config)

# 输出结果
print(f"x: {x}")
print(f"y: {y}")
print(f"z: {z}")

维护说明

  • 若URL结构变动,只需调整extract_config中的索引参数,无需修改核心提取逻辑
  • 若路径分隔规则变化,可调整path_parts的生成逻辑,比如适配特殊分隔符

运行结果

x: 1.2.3
y: 7/8/9
z: 1.2.3/4/5/6/7

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 21:24:28