【问题标题】:how do i replace multiple parameter value with a new value in urlparse?如何在 urlparse 中用新值替换多个参数值?
【发布时间】:2020-02-06 16:29:06
【问题描述】:

我有多个链接

www.example.com/abc?file=xxxxxxxxxxxxxxx&url=xxxxxxxxxxxxxxx
www.example.com/abc?google=xxxxxxxxxxxxxxx&fb=xxxxxxxxxxxxxxx

等 现在我想将这些参数值更改为“xxxxxxxxxxxxxxx”我该怎么做?所有参数都是不同的,在其他请求中它们也会改变

【问题讨论】:

  • 您标记了两个相互矛盾的 Python 版本。如果 Python 版本与您的问题相关,请标记该版本。标记不同的版本不会为您的问题添加任何有用的信息。
  • 你能发布你目前尝试过的代码吗?
  • 我刚刚得到答案,谢谢

标签: python python-3.x python-2.7 urlparse


【解决方案1】:

这是一个工作示例:

import urllib.parse as urlparse
from urllib.parse import parse_qs


def replace_params_with_x(url):
    parsed = urlparse.urlparse(url)
    params= parse_qs(parsed.query)
    modified_params={key : ["x" * len (val) for val in values] for key, values in params.items()}

    url_modified=url.split("?")[0]
    # i have params
    rplc = "&".join([ "%s=%s" % (key, val) for key, values in modified_params.items() for val in values ])
    if rplc:
        url_modified += "?" +rplc


    return url_modified

# example on a single url (applicable to any url)
url = 'www.example.com/abc?file=my_file&url=my_url'
print(replace_params_with_x(url))

输出: www.example.com/abc?&file=xxxxxxx&url=xxxxxx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 2018-04-05
    • 2015-03-02
    • 2018-06-08
    • 2022-10-05
    • 1970-01-01
    相关资源
    最近更新 更多