2012-07-22 34 views
16

Tôi muốn phân tích một phần truy vấn từ url, đây là mã của tôi để làm điều này:Parse truy vấn một phần từ url

>>> from urlparse import urlparse, parse_qs 
>>> url = '/?param1&param2=2' 
>>> parse_qs(urlparse(url).query) 
>>> {'param2': ['23']} 

Mã này có vẻ tốt, nhưng "parse_qs" phương pháp mất tham số truy vấn như "param1" hoặc "param1 =". Tôi có thể phân tích phần truy vấn bằng thư viện stantard và lưu tất cả các tham số không?

Trả lời

42

Bạn muốn:

from urlparse import parse_qs, urlparse 

parse_qs(urlparse(url).query, keep_blank_values=True) 
# {'param2': ['2'], 'param1': ['']} 
+0

Đối với Python 3 nhập khẩu là 'từ parse_qs nhập khẩu urllib.parse, urlparse' –

Các vấn đề liên quan