[Python]スクレイピングで使える画像をダウンロードして保存する方法

アイキャッチPythonカテゴリ

Seleniumの記事ではさらっとしか触れていなかった画像をダウンロードして保存する方法を紹介する回。
Seleniumを使ってみたいという方はこちら、

PythonとかVSCodeのインストールについてはこちら、

(スポンサーリンク)
目次

requests.getを使って画像をダウンロード

requests.getを使うと指定したURLのコンテンツを取得することができるのでそれを使って画像のURLを渡すと画像データをダウンロードすることができる。
画像データ(バイナリデータ)はrequests.getの戻り値(Response)のcontentから取得することができる。
そのバイナリデータをPythonの標準機能でファイルに書き出す感じで保存完了。

import requests    #インポートが必要

#画像をダウンロード
img_url = '画像のURL'
response = requests.get(img_url)

#画像を保存
img_save_name = '保存する画像の名前'
with open(img_save_name, 'wb') as f:
    f.write(response.content)

「img_save_name」に代入する値を「001.jpg」とかにするとその名前で保存される。
ファイル名だけだとカレントディレクトリになるので変えたい場合はフルパス(「d:\001.jpg」とか)で書く。

画像URLから拡張子を取得

画像ファイルの拡張子をURLから取得したいときは「os.path.splitext」が便利。

import os

img_url = 'https://yaspage.com/yasunolog/wp-content/uploads/2023/01/wordpress_app_password_001.jpg'
result = os.path.splitext(img_url)
print(result)

# ('https://yaspage.com/yasunolog/wp-content/uploads/2023/01/wordpress_app_password_001', '.jpg')
# ↑ result[0]に拡張子までの文字列
#   result[1]に拡張子の文字列が入っている
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次