Python で URL からドメインを抽出する

Naila Saad Siddiqui 2023年6月21日
Python で URL からドメインを抽出する

この記事では、実用的な例を使用して、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 を解析し、そのさまざまなコンポーネントをプログラミングのさまざまな目的に使用できます。

関連記事 - Python URL