从字符串中解析值

时间:2013-09-04 11:14:15

标签: python parsing parameters

我有:

url = 'http://example.com/json?key=12345&lat=52.370216&lon=4.895168&status=upcoming&radius=20&offset=0'

如何解析参数20的值radius

我认为urlparse.parse_qs()是不可能的,不是吗? 还有一种更好的方法,而不是使用正则表达式吗?

1 个答案:

答案 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'