Python
での URL
やクエリパラメータの解析やパース、エンコーディングの方法を説明します。
前提条件
- Python : 3.9.1
urllib.parse
をインポートして使用します。
import urllib.parse
URLをパースする
urllib.parse.urlparse("http://example.com/test.html?foo=bar&hoge=piyo")
# ParseResult(scheme='http', netloc='example.com', path='/test.html', params='', query='foo=bar&hoge=piyo', fragment='')
クエリパラメータをパースする
urllib.parse.parse_qs('foo=bar&hoge=piyo')
# {'foo': ['bar'], 'hoge': ['piyo']}
辞書( dict )からクエリパラメータを作成する
urllib.parse.urlencode(dict(query='クエリサンプル'))
# 'query=%E3%82%AF%E3%82%A8%E3%83%AA%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB'
パーセントエンコーディングされた文字列を変換する
sample = urllib.parse.quote('クエリサンプル')
print(sample)
# %E3%82%AF%E3%82%A8%E3%83%AA%E3%82%B5%E3%83%B3%E3%83%97%E3%83%AB
result = urllib.parse.unquote(sample)
print(result)
# クエリサンプル
最後に
URL
やクエリパラメータを解析したりするのに必須の知識だと思うので、 urllib.parse
の使い方はしっかり覚えておきたいですね。
コメント