1. ホーム
  2. python

[解決済み】URLからパラメータを取得する方法

2022-04-12 01:18:13

質問

以下のようなURLがあった場合、クエリパラメータの値をどのように解析すればよいでしょうか。例えば、この場合、私は以下の値が欲しいです。 some_key .

/some_path?some_key=some_value'

私の環境では Django を使用しています。 request オブジェクトを使用すると便利ですか?

を使ってみました。 self.request.get('some_key') を返しますが、値を返さない some_value 期待したとおりです。

解決方法は?

これは Django に限ったことではなく、Python 全般に言えることです。Django に特化した回答としては。 こちらをご覧ください jball037 さんより

Python 2です。

import urlparse

url = 'https://www.example.com/some_path?some_key=some_value'
parsed = urlparse.urlparse(url)
captured_value = urlparse.parse_qs(parsed.query)['some_key'][0]

print captured_value

Python 3です。

from urllib.parse import urlparse
from urllib.parse import parse_qs

url = 'https://www.example.com/some_path?some_key=some_value'
parsed_url = urlparse(url)
captured_value = parse_qs(parsed_url.query)['some_key'][0]

print(captured_value)

parse_qs はリストを返します。その [0] はリストの最初の項目を取得するので、各スクリプトの出力は次のようになります。 some_value

以下は Python 3 の 'parse_qs' のドキュメントです。