22

I want to parse query part from url, this is my code to do this:

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

This code looks good, but "parse_qs" method loses query parameters like "param1" or "param1=". Can I parse query part with stantard library and save all parameters?

Gr1N
  • 1,337
  • 3
  • 14
  • 19
  • Does this answer your question? [Retrieving parameters from a URL](https://stackoverflow.com/questions/5074803/retrieving-parameters-from-a-url) – Nick Jun 26 '22 at 04:02

1 Answers1

54

You want:

from urlparse import parse_qs, urlparse

parse_qs(urlparse(url).query, keep_blank_values=True)
# {'param2': ['2'], 'param1': ['']}
Wilfred Hughes
  • 29,846
  • 15
  • 139
  • 192
Jon Clements
  • 138,671
  • 33
  • 247
  • 280