スクリーンショットを手作業で撮るのは手間がかかります。しかしPythonを使えば、任意のタイミングで自動的にキャプチャを保存できます。本記事では「Pythonでスクリーンショットを自動保存する方法」を初心者にもわかりやすく解説します。
Pythonでスクリーンショットを自動保存するメリット
自動保存の仕組みを取り入れると、次のようなメリットがあります。
- 効率化: 繰り返しの作業を省略できる。
- 証跡管理: 作業ログやテスト結果を確実に残せる。
- トラブル対応: 不具合発生時の画面を即座に保存できる。
- 拡張性: 自動レポートや監視システムに組み込める。
つまり、単なる便利ツールにとどまらず、業務効率化や開発環境の安定にも寄与します。
準備するもの
Pythonでスクリーンショットを自動保存するには、以下を準備しましょう。
- Python 3.x(公式サイトからダウンロード)
- ライブラリ:
pyautogui
またはPillow
- 保存先のフォルダ(権限のあるディレクトリを推奨)
特にpyautogui
は、スクリーンショットだけでなくマウスやキーボード操作の自動化にも対応しており、応用範囲が広いです。
基本的なスクリーンショットの自動保存方法
pyautoguiを使う場合
import pyautogui
# スクリーンショットを撮影
screenshot = pyautogui.screenshot()
# ファイルに保存
screenshot.save("screenshot.png")
このスクリプトを実行すると、現在の画面全体が「screenshot.png」という名前で保存されます。とてもシンプルです。
Pillowを使う場合
from PIL import ImageGrab
# 画面をキャプチャ
screenshot = ImageGrab.grab()
# ファイルに保存
screenshot.save("screenshot_pillow.png")
Pillowは画像処理に強く、キャプチャした画像をそのまま加工できるのが特徴です。
応用テクニック
一定時間ごとに自動保存
import pyautogui
import time
for i in range(5):
screenshot = pyautogui.screenshot()
filename = f"screenshot_{i}.png"
screenshot.save(filename)
time.sleep(10) # 10秒ごとに保存
このコードでは10秒ごとにスクリーンショットを撮り、連番で保存します。監視や定期記録に役立ちます。
特定の領域だけをキャプチャ
import pyautogui
# x, y, 幅, 高さを指定
region = (100, 100, 800, 600)
screenshot = pyautogui.screenshot(region=region)
screenshot.save("screenshot_region.png")
画面全体ではなく一部の領域だけをキャプチャすることで、必要な情報だけを効率的に記録できます。
よくあるエラーと注意点
- PermissionError: 保存先フォルダに書き込み権限がない場合に発生します。権限のあるフォルダを指定しましょう。
- モジュール未インストール:
pip install pyautogui pillow
を事前に実行してください。 - Windows以外の環境: Pillowの
ImageGrab
はmacOS対応ですが、Linuxでは追加設定が必要になる場合があります。
環境に応じた設定を確認しておくと安心です。
さらに活用するアイデア
スクリーンショット自動化はさまざまな用途に応用できます。
- UIテストの自動化で結果を画像として保存
- サーバー監視画面を定期的にキャプチャ
- プレゼン資料用の画面キャプチャを自動生成
業務フローに組み込むことで、大幅な効率化が期待できます。
プログラミング初心者におすすめのサービス
「もっと実践的なコード例が欲しい」「自分の用途に合わせて教えてほしい」という方には、
テックアカデミーがおすすめです。
AI関連コースやシステム開発コース、アプリ開発コースなど豊富な学習が可能です。
さらに今なら無料相談でアマギフプレゼントもあるので、気軽にお申込みしてみてください。
また、プログラミング学習のプラットフォームとして、ココナラでは、現役エンジニアや経験豊富な講師が、あなたのレベルや目的に合わせてマンツーマンで指導してくれます。
書籍や動画ではカバーしきれない、あなた専用のカリキュラムで学べるのが最大の魅力。短時間で効率的にスキルを伸ばしたいなら、まずは出品者のサービスをチェックしてみましょう。
また、教える側としてスキルを活かして副業・独立を目指すことも可能です。
プログラミング経験や知識があれば、自分の得意分野をサービスとして出品し、全国の学習者から直接依頼を受けられます。オンラインで完結するため、場所や時間に縛られず、自分のペースで働けるのも大きなメリットです。
こちらのリンクから詳細をチェックしてみてください。
まとめ
Pythonでスクリーンショットを自動保存する方法はシンプルながら非常に実用的です。pyautoguiやPillowを使えば、日常業務や開発環境での記録を簡単に自動化できます。ぜひ自分の作業に取り入れて効率を上げてみてください。
以下のリンクから、
SESの組込みシステムから色々な不満を持ち、自社WEBサービスへ転職した実体験の記事がありますので、是非読んでみてください。とても喜びます。
SESの組込みシステムから自社WEBサービスのエンジニアに転職した話

参考リンク: pyautogui公式ドキュメント, Pillow公式ドキュメント
コメント