Pythonには、URLを解析(パース)するための専用モジュール urllib.parse が標準ライブラリとして用意されています。 その中の urlparse () 関数を使用すれば、どんなに複雑なURLであっても、以下の6つの構成要素に正しく分解してくれます。
確かに単純なURLならそれでも動くかもしれませんが、URLエンコード(%E3%81%82 など)が含まれていたり、値が空だったりする場合、自前実装はバグの温床になります。 ここでもやはり、Python標準ライブラリ urllib.parse の出番です。