【Python】Web上の画像をダウンロードして指定したディレクトリに保存する

  • URLをコピーしました!
目次

requestsモジュールのインストール

まずは今回使用するequestsモジュールをインストールします。requestsモジュールはHTTP通信用のライブラリです。以下のコマンドを実行してください。

pip3 install requests
pip3 install requests

画像をダウンロードし、保存するソースコード

今回はこのブログにアップされている画像をダウンロードするサンプルを作成してみました。

import requests
import os

#バイナリファイルを保存
def save_file(path, filename, data, mode):

    #ファイルを保存するためのディレクトリを作成
    os.makedirs(path, exist_ok=True)
    
    #ファイルパスを生成
    file_paht = os.path.join(path, filename)

    #指定したフォルダに保存
    with open(file_paht, mode) as f:
        f.write(data.content)

#blogの画像を取得
req = requests.get("https://cdn-ak.f.st-hatena.com/images/fotolife/M/Murasame_Tech/20211222/20211222133617.jpg")

#保存先ディレクトリのパス
new_dir = "D:/XXXXXXXXX/XXXXXX/test"

#保存するファイル名
fname = "dlimg.jpg"

#ファイルを保存する
save_file(new_dir, fname, req, "wb")
5行目:
ファイルを保存するメソッドです

6行目:
指定した場所にmakedirsでディレクトリを作成します。exist_okをTrueにするとディレクトリが存在していてもエラーになりません。

10行目:
ディレクトリのパスとファイル名を結合してファイルパスを生成します。

13行目:
引数で指定されたモードでファイルを開き、6行目で作成したディレクトリにファイルを保存します。

18行目:
requestsのgetメソッドで画像をダウンロードします。

21行目:
XXXの箇所を保存したいパスに変更してください。

27行目:
ダウンロード→保存の処理を実行します。

実行結果

プログラム内で指定したディレクトリを開くと、requestsモジュールのgetメソッドで取得したブログの画像が保存されていました。

実行結果

まとめ

いかがだったでしょうか?
requestsモジュールのgetメソッドを使って目的の画像をダウンロードすることができました。HTTP通信の他のメソッドについてはまた別の記事で書きたいと思います。

それでは、また次の記事でお会いしましょう。

よかったらシェアしてね!
  • URLをコピーしました!
目次