[Python]URL とクエリパラメータをパースしたりエスケープしたりする

Python Version 3 Logo プログラミング

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 の使い方はしっかり覚えておきたいですね。

スポンサーリンク
スポンサーリンク
プログラミング
スポンサーリンク

コメント

タイトルとURLをコピーしました