2012-07-22 12 views
16

Ich möchte Abfrage Teil von URL analysieren, das ist mein Code, dies zu tun:Parse Abfrage Teil von url

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

Dieser Code sieht gut aus, aber „parse_qs“ Methode verliert Abfrageparameter wie „param1“ oder "param1 =". Kann ich den Abfrageteil mit der Standardbibliothek analysieren und alle Parameter speichern?

Antwort

42

Sie wollen:

from urlparse import parse_qs, urlparse 

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

Für Python 3 die Importe sind 'aus urllib.parse Import parse_qs, urlparse' –