Python 3でクエリ文字列をエンコードする方法
Python 3では、URLに含めるクエリ文字列をエンコードするために標準ライブラリのurllib.parse
モジュールを使用します。クエリ文字列をエンコードすることで、特殊文字や日本語などの文字列を安全にURLに埋め込むことができます。
クエリ文字列のエンコード方法
以下のサンプルコードでは、urllib.parse
モジュールのurlencode()
関数を使用してクエリ文字列をエンコードします。
import urllib.parse params = {'key': '日本語', 'page': 1} encoded_params = urllib.parse.urlencode(params) print(encoded_params)
上記のコードを実行すると、以下のようにクエリ文字列がエンコードされます。
key=%E6%97%A5%E6%9C%AC%E8%AA%9E&page=1
クエリ文字列のデコード方法
エンコードされたクエリ文字列をデコードする場合は、urllib.parse
モジュールのparse_qs()
関数を使用します。
decoded_params = urllib.parse.parse_qs(encoded_params) print(decoded_params)
上記のコードを実行すると、以下のようにデコードされたクエリ文字列が表示されます。
{'key': ['日本語'], 'page': ['1']}
URLにクエリ文字列を追加する方法
エンコードされたクエリ文字列をURLに追加する方法を示します。
base_url = 'https://example.com/api' full_url = base_url + '?' + encoded_params print(full_url)
上記のコードを実行すると、以下のようにクエリ文字列がURLに追加された完全なURLが表示されます。
https://example.com/api?key=%E6%97%A5%E6%9C%AC%E8%AA%9E&page=1
以上がPython 3でクエリ文字列をエンコードする方法に関する基本的な情報とサンプルコードです。これらの方法を使って、安全かつ正確にURLを構築することができます。
Python 3では、クエリ文字列をエンコードするために、urllib.parseモジュールのurlencode()関数を使用します。この関数を使うと、辞書形式で渡されたクエリパラメータをURLエンコードして、文字列として返します。例えば、以下のように使用します:
“`python
import urllib.parseparams = {‘key1’: ‘value1’, ‘key2’: ‘value2’}
encoded_query = urllib.parse.urlencode(params)
print(encoded_query)
“`このコードを実行すると、”key1=value1&key2=value2″という文字列が出力されます。これは、クエリ文字列が正しくエンコードされた結果です。このようにして、Python 3でクエリ文字列をエンコードすることができます。