urlparseを扱う上で気を付けるべきこと

スクレイピングを勉強していた時、urlparseメソッドが初めてコード内に出てきました。どのような処理が行われているかわからなかったので気づいたことを調べてメモしました。

netlocの値として認識のされ方

urlparseで引数に渡したURLがnetlocの値として認識されるのは「//」で始まる場合のみ!!「//」がない場合、相対URLとして認識されるため、pathの値として認識される。

from urllib.parse import urlparse

print(urlparse('https://www.oreilly.com'))
print(urlparse('https:www.oreilly.com'))

結果

ParseResult(scheme='https', netloc='www.oreilly.com', path='', params='', query='', fragment='')
ParseResult(scheme='https', netloc='', path='www.oreilly.com', params='', query='', fragment='')

ちなみに、各変数に格納されている値は以下のように取得することが可能です。

from urllib.parse import urlparse

parseResult = urlparse('https://www.oreilly.com')
print(parseResult.netloc)

結果

www.oreilly.com

参照

[1]https://docs.python.org/ja/3/library/urllib.parse.html

コメント

タイトルとURLをコピーしました