【问题标题】:How to parse url parameters in key:value format?如何以 key:value 格式解析 url 参数?
【发布时间】:2013-12-08 16:08:56
【问题描述】:

例如,我有一个这样的网址:http://www.youtube.com/watch?v=cUjfXWuZySE&list=cUjfXWuZySE。我需要以key:value格式解析它的参数。

目前我这样做params = re.findall('([^?=&]+)(?:[&#]|=([^&#]*))', args.url) 并得到[('v', 'cUjfXWuZySE'), ('list', 'cUjfXWuZySE')]

【问题讨论】:

    标签: python regex python-2.7


    【解决方案1】:

    使用urlparse.urlparseurlparse.parse_qs

    >>> import urlparse
    >>>
    >>> url = 'http://www.youtube.com/watch?v=cUjfXWuZySE&list=cUjfXWuZySE'
    >>> parts = urlparse.urlparse(url)
    >>> urlparse.parse_qs(parts.query)
    {'list': ['cUjfXWuZySE'], 'v': ['cUjfXWuZySE']}
    >>> {name:values[0] for name, values in urlparse.parse_qs(parts.query).iteritems()}
    {'list': 'cUjfXWuZySE', 'v': 'cUjfXWuZySE'}
    

    【讨论】:

    • 对于 python 3,您必须使用 import urllib.parse as urlparse 作为示例的第一行。
    猜你喜欢
    • 1970-01-01
    • 2012-03-05
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 2014-10-28
    • 1970-01-01
    相关资源
    最近更新 更多