相対URLだけでは使えないことがある
ページ内のリンクは、'https://example.com/page'のような完全なURL(絶対URL)だけでなく、'/page'や'page.html'のような、今いるページを基準にした短い書き方(相対URL)で書かれていることがよくあります。相対URLのままでは別のページから直接アクセスできないため、元のページのURLと組み合わせて絶対URLに変換する必要があります。
これには標準ライブラリのurllib.parseモジュールにあるurljoin()関数が使えます。
サンプルコード
from urllib.parse import urljoin
base_url = 'https://example.com/blog/'
relative_link = 'article.html'
absolute_url = urljoin(base_url, relative_link)
print(absolute_url)
urljoin(基準となるURL, 相対パス)と書くことで、相対パスを正しい絶対URLに変換できます。前のレッスンでget('href')から取得した値をそのままurljoin()に渡す、という使い方がよくあります。