例如,我有一个这样的网址:http://www.youtube.com/watch?v=cUjfXWuZySE&list=cUjfXWuZySE
。我需要以key:value
格式解析其参数。
目前我这样做params = re.findall('([^?=&]+)(?:[&#]|=([^&#]*))', args.url)
并获得[('v', 'cUjfXWuZySE'), ('list', 'cUjfXWuZySE')]
。
答案 0 :(得分:3)
使用urlparse.urlparse
和urlparse.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'}