Python で URL からドメインを抽出する
Naila Saad Siddiqui
2023年6月21日
この記事では、実用的な例を使用して、URL からドメイン名を解析して抽出する Python の urlparse()
関数について説明します。 また、URL を解決し、さまざまなコンポーネントを使用する機能の改善についても説明します。
urlparse()
を使用して URL からドメインを抽出する
urlparse()
メソッドは Python の urllib
モジュールの一部であり、URL をさまざまなコンポーネントに分割してさまざまな目的に使用する必要がある場合に役立ちます。 例を見てみましょう:
from urllib.parse import urlparse
component = urlparse("http://www.google.com/doodles/mothers-day-2021-april-07")
print(component)
このコード スニペットでは、最初に urllib
モジュールのライブラリ ファイルをインクルードしました。 次に、URL を urlparse
関数に渡しました。 この関数の戻り値は、以下にリストされている 6つの要素を持つ配列のように機能するオブジェクトです。
scheme
- オンライン リソースを取得するために使用できるプロトコルを指定します (例:HTTP
/HTTPS
)。netloc
-net
はネットワークを意味し、loc
は場所を意味します。 つまり、URL のネットワーク上の場所を意味します。path
- Web ブラウザーが提供されたリソースにアクセスするために使用する特定の経路。params
- これらはpath
要素のパラメーターです。query
- リソースが使用できるpath
コンポーネントとデータのストリームに準拠します。fragment
- パーツを分類します。
print 関数を使用してこのオブジェクトを表示すると、そのコンポーネントの値が出力されます。 上記のコード フェンスの出力は次のようになります。
ParseResult(scheme='http', netloc='www.google.com', path='/doodles/mothers-day-2021-april-07', params='', query='', fragment='')
出力から、すべての URL コンポーネントが分離され、オブジェクト内の個々の要素として格納されていることがわかります。 次のように名前を使用して、任意のコンポーネントの値を取得できます。
from urllib.parse import urlparse
domain_name = urlparse("http://www.google.com/doodles/mothers-day-2021-april-07").netloc
print(domain_name)
netloc
コンポーネントを使用すると、次のように URL のドメイン名を取得できます。
www.google.com
このようにして、URL を解析し、そのさまざまなコンポーネントをプログラミングのさまざまな目的に使用できます。