URLの結合とか調べてみた。urllibモジュールのurljoinを使って行う。
#!/usr/bin/env python3
import urllib.parse
# ↓ http://hoge.com/index.html?abc=123 と表示される (1)
print(urllib.parse.urljoin("http://hoge.com", "index.html?abc=123"))
# ↓ http://hoge2.com/hogehoge.html と表示される (2)
print(urllib.parse.urljoin("http://hoge.com", "http://hoge2.com/hogehoge.html"))
# URLを解析してみる (3)
url = urllib.parse.urlparse("http://hoge.com:8080/index.html?abc=123")
print(url) # ParseResult(scheme='http', netloc='hoge.com:8080', path='/index.html', params='', query='abc=123', fragment='') と表示される
print(url.netloc) # hoge.com:8080 と表示される。
- (1)は、まー普通につないてみてる。
- (2)は、渡されるURLが相対的なURLか絶対的なURLかわからない場合を想定して絶対URLが渡された場合を想定してる。2つ目の引数に絶対URLを渡したら、2つ目の引数のURLがそのまま帰ってくるのが確認できた。
- (3)は、試しにURLを解析(分解)させてみた。urlparseを使う。表示結果のように分解される。
コメント