Pythonでクエリストリングをオブジェクトに変換する

urlparse.parse_qsかparse_qslを使う。
返される値が微妙に異なり、parse_qlはキーがクエリ変数名で値がリストである辞書を返し、parse_qslはクエリ変数名と値のペアのリストを返す。

# coding=utf-8

from urlparse import urlparse, parse_qs, parse_qsl

url = "http://localhost:8000?per_page=30&page=1&keyword=あいえうお"


print urlparse(url).query
# => per_page=30&page=1&keyword=あいえうお

print parse_qs(urlparse(url).query)
# => {'per_page': ['30'], 'page': ['1'], 'keyword': ['\xe3\x81\x82\xe3\x81\x84\xe3\x81\x88\xe3\x81\x86\xe3\x81\x8a']}

print parse_qsl(urlparse(url).query)
# => [('per_page', '30'), ('page', '1'), ('keyword', '\xe3\x81\x82\xe3\x81\x84\xe3\x81\x88\xe3\x81\x86\xe3\x81\x8a')]


逆に辞書をクエリストリングにする方法はこちら


Pythonで辞書をクエリストリングに変換する
http://d.hatena.ne.jp/yuheiomori0718/20120706/1341579234