【初心者向け】Pythonのurllib.requestと.parseの使い方
外部のAPIを導入するときに、変数内のURLを分析することもあるかと思います。
そのときに、urllib.request と urllib.parseは使い勝手が良いので、その使い方とコード例を解説しようと思います。
目次(クリックで読みたい部分にジャンプできます)
urllib.parse.urlparse
urllib.parseモジュールの中にはいくつかありますが、今回はurlparseについて解説します。
urllib.parse.urlparseはurlを分解して取得するものです。
from urllib import parse
url = "https://www.python/org/"
print(parse.urlparse(url))
とすると、以下のように結果が出ます。
ParseResult(scheme='https', netloc='www.python', path='/org/', params='', query='', fragment='')
また、それぞれを要素を取り出すのには、
from urllib import parse
url = "https://www.python/org/"
print(parse.urlparse(url))
result=parse.urlparse(url)
print(result.scheme)
ParseResult(scheme='https', netloc='www.python', path='/org/', params='', query='', fragment='')
https
で取り出すことができます。
urllib.parse.urlencode
urllib.parse.urlencodeでは、引数をパラメーターの形に変換することができる関数です。
パラメーターは、urlの「?」の後ろに続く、変数=値の部分のことを指します。
早い話が、実際にやってみましょう。
from urllib import parse
url = "https://www.python/org/"
result = url+'?{}'.format(parse.urlencode({
'name': 'abc',
'key': '1234'
}))
print(result)
実行結果↓
https://www.python/org/?name=abc&key=1234
これは、外部APIとつなげる場合によく使われるものですので、外部のAPIなどと連携しようと考えているときに使える関数だと思います。
urllib.request.urlopen
urllib.request.urlopen関数は、URLで指定した、Web上のファイル(HTMLファイルなど)を開き、このファイルを読み込むためのオブジェクトを返します。
with文と組み合わせることで簡単に取り出すことができます。
url = "https://www.abyblog.online/"
with request.urlopen(url) as f:
for line in f:
print(line)
まとめ
今回は、urllibで使える関数をご紹介しました。
次回は、このurllibの関数を使いLINEログインAPIとの接続を行います。
下の次のページから遷移することができますので、併せて読んでみてください。
(Visited 112 times, 1 visits today)