オーダーメイドコース
icon
icon

Pythonによるurlopen関数の利用方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonによるurlopen関数の利用方法について現役エンジニアが解説しています。urlopen関数はPythonでURLを扱うurllibモジュールの関数で、指定したファイルの内容を取得するものです。レスポンスオブジェクトからHTTPレスポンスを読み込みます。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Pythonによるurlopen関数の利用方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

Pythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonによるurlopen関数の利用方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

urlopen関数とは?

urlopen関数とはPythonのurllibモジュールで使われるURLを取得するためのメソッドです。

urllibはURLを使用するためのモジュールであり、その中にurlopen関数が含まれています。

 

urllibの使い方

まずは、urllib.requestモジュールをインポートしましょう。

次に、urlopenメソッドの引数で、アクセスしたいURLを指定します。

urlopenメソッドはレスポンスをオブジェクトとして返します。

上記オブジェクトに対してreadメソッドを呼び出すと、HTTPレスポンスを読み取ることが可能です。

 

[PR] 未経験からWebエンジニアを目指す方法とは

urlopen関数を利用してスクレイピングしてみよう

ソースコード

import urllib.request

with urllib.request.urlopen('https://techacademy.jp/') as u:
  print(u.info())
  print(u.read())

 

実行結果

Date: Sat, 28 Dec 2019 22:44:23 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 84564
Connection: close
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
ETag: W/"8565f768f3d192247155e483e83fcef8"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: df0aa851-96c3-41bf-9537-89c31d41182a
X-Runtime: 0.065610

b' (...以下略...)

 

解説

urlopenメソッドでTechAcademyのサイトにアクセスしています。

with-as構文を使った場合、事後のcloseは不要です。

infoメソッドでHTTPレスポンスヘッダの情報を表示しました。

readメソッドでHTTPレスポンスの内容を表示しています。

 

執筆してくれたメンター

橋本紘希(はしもとひろき)

システムインテグレータ企業勤務のシステムエンジニア。

開発実績: Javaプログラムを用いた業務用Webアプリケーションや基幹システム用バッチアプリケーションなどの設計構築試験。

 

大石ゆかり

Pythonによるurlopen関数の利用方法がよくわかったので良かったです!

田島悠介

ゆかりちゃん、これからも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも、Pythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので参加してみてください。