\

Pythonでは、URLとクエリ文字列を結合するために、urllib.parseモジュールのurljoin関数を使用します。この関数は、2つのURLを結合し、絶対URLを生成します。

import urllib.parse

url1 = "http://127.0.0.1/test1/test2/test3/test5.xml"
url2 = "../../test4/test6.xml"

# urljoinを使用してurl1とurl2を結合
new_url = urllib.parse.urljoin(url1, url2)
print(new_url)  # 出力: http://127.0.0.1/test1/test4/test6.xml

しかし、複数のパスコンポーネントを結合する場合、urljoinはパスを置き換えるので、それぞれのパスコンポーネントを個別に結合する必要があります。そのためには、posixpathモジュールのjoin関数を使用します。

import urllib.parse
import posixpath

url1 = "http://127.0.0.1"
url2 = "test1"
url3 = "test2"
url4 = "test3"
url5 = "test5.xml"

# posixpath.joinを使用して複数のパスコンポーネントを結合
url_path = posixpath.join(url2, url3, url4, url5)

# urljoinを使用してurl1とurl_pathを結合
new_url = urllib.parse.urljoin(url1, url_path)
print(new_url)  # 出力: http://127.0.0.1/test1/test2/test3/test5.xml

このように、Pythonのurllib.parseモジュールは、URLとクエリ文字列を効率的に操作するための強力なツールを提供しています。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です