Seleniumの記事ではさらっとしか触れていなかった画像をダウンロードして保存する方法を紹介する回。
Seleniumを使ってみたいという方はこちら、
[Python] Seleniumをインストールしてスクレイピングしてみる
pythonでスクレイピングをしてみたときのメモメインブログから移行した記事。ちょっと加筆したりしてる。 Seleniumとは Seleniumはブラウザの自動テストを行うためのラ…
PythonとかVSCodeのインストールについてはこちら、
VSCodeとPython3.10をインストールした(Windows10)
いつのまにかPythonが3.10になっていたのでインストールする回。ついでにVSCodeのインストールとか設定を残しておこうという魂胆。 Python3.10のインストール STEPPytho…
目次
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]に拡張子の文字列が入っている
コメント