スポンサーリンク

【最速】PythonでWEB上の画像をダウンロードして保存する【Requests】

Image

PythonでWEB上の画像をダウンロードするには、requestsライブラリを使う。ここでは、ダウンロード対象の画像として、OpenCVのGithubから、butterfly.jpgを対象とする。

WEB上の画像をダウンロードするrequests.get()

ダウンロード対象の画像のURLを確認するために、butterfly.jpgの画像の上で右クリックをし、画像のアドレスのコピーをクリックします。

この場合、https://github.com/opencv/opencv/blob/4.x/samples/data/butterfly.jpg?raw=trueがコピーされます。

requests.get()の第一引数に、ダウンロード対象画像のURLを指定すると情報を取得できる。画像のデータをバイナリ形式で取得するために.contentを使う。

Requests: 人間のためのHTTP — requests-docs-ja 1.0.4 documentation

import requests

url = "https://github.com/opencv/opencv/blob/master/samples/data/butterfly.jpg?raw=true"

response = requests.get(url)
image = response.content

ファイルを書き込むwrite

読み込んだバイナリ形式のデータを、jpegで書き込むにはwriteを使う。

file_name = "butterfly.jpg"

with open(file_name, "wb") as f:
    f.write(image)

書き込んだファイルの表示

jpegで出力したファイルをOpenCVを使って表示します。表示ができたので、上手く動作したことが確認できました。

import cv2

img = cv2.imread("butterfly.jpg")
cv2.imshow("butterfly.jpg",img)

コメント