如何以key:value格式解析url参数?

时间:2013-12-08 16:08:56

标签: python regex python-2.7

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

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

1 个答案:

答案 0 :(得分:3)

使用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'}