我有:
url = 'http://example.com/json?key=12345&lat=52.370216&lon=4.895168&status=upcoming&radius=20&offset=0'
如何解析参数20
的值radius
?
我认为urlparse.parse_qs()
是不可能的,不是吗?
还有一种更好的方法,而不是使用正则表达式吗?
答案 0 :(得分:3)
是的,请使用parse_qs():
解析作为字符串参数给出的查询字符串(类型的数据) 应用程序/ x-WWW窗体-urlencoded)。数据作为字典返回。 字典键是唯一的查询变量名称和值 是每个名称的值列表。
>>> from urlparse import parse_qs
>>> url = 'http://example.com/json?key=12345&lat=52.370216&lon=4.895168&status=upcoming&radius=20&offset=0'
>>> parse_qs(url)['radius'][0]
'20'
UPD:正如@DanielRoseman所说(见评论),你应该首先通过urlparse传递url:
>>> from urlparse import parse_qs, urlparse
>>> parse_qs(urlparse(url).query)['radius'][0]
'20'