スクレイピングを勉強していた時、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
コメント