Web検索はbingがおすすめ!

HTTPでWebのコンテンツやWebページを取得する - Python

PythonでHTTPを利用してWebのコンテンツやWebページを取得するコードを紹介します。

概要

PythonでHTTPを利用してWebページを取得する場合には、urllib urllib.request を利用します。

プログラム

コード例

下記のPythonコードを作成します。
import urllib.request

url = 'https://www.ipentec.com'
req = urllib.request.Request(url)
resp = urllib.request.urlopen(req)

htmltext = resp.read().decode('utf-8')
print(htmltext)

resp.close()

解説

importを利用してライブラリを参照します。HTTP接続を利用してWebページを取得するurllibを参照します。
import urllib.request

取得するWebページのURLを用意し、urllib.request.Request メソッドを呼び出し Requestオブジェクトを取得します。
url = 'https://www.ipentec.com'
req = urllib.request.Request(url)

urllib.request.urlopen を呼び出します。引数には先ほど取得したRequestオブジェクトを与えます。戻り値はWebサーバーからのレスポンスを格納する Response オブジェクトになります。
resp = urllib.request.urlopen(req)

Responseオブジェクトのread()メソッドを呼び出すとHTTPで取得したコンテンツを取得できます。今回はUTF-8でデコードするため、decodeメソッドも呼び出して文字をデコードします。デコードしたページの文字列をhtmltext変数に代入します。その後 print 文で取得したWebのページを画面に表示します。
htmltext = resp.read().decode('utf-8')
print(htmltext)

実行結果

プロジェクトを実行します。実行するとすぐに https://www.ipentec.com にアクセスしトップページのHTML情報をダウンロードし画面にコードを表示できています。


著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2020-02-04
iPentec all rights reserverd.