【初心者向け】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 101 times, 1 visits today)