【Python】Webページのファイルダウンロードを自動化してみる
おはようございます。タカヒデです。
「普段の定型業務を自動化したい…」
そんなことを思ったことありませんか?
思ったことなくとも、仕事をしていれば上司から同じようなことを言われることでしょう。
そんな自動化を実現するのが本日の記事です。
ということで本日は、「PythonでWebページのファイルダウンロードを自動化してみよう」そんな記事になります。
全く同じ環境ではないかと思いますが、是非参考にしてみてください。
【前提】今回実装したいこと
まずは今回実装したい内容を整理していきましょう。
今回の実装により「ボタン一つで以下の動作を自動で実行」したいと思います。
- ブラウザを起動
- 特定の記事ページにアクセス
- 「ダウンロード」リンクを探してクリック
- ダウンロードされた画像を指定したフォルダに保存
なお実務を考えると、銀行口座の明細データなどをダウンロードできるようにしたいところです。
しかし、ログイン認証等のハードルがあることから、今回は本ブログの別記事を活用します。
そのため、以下の「RPGを作成する記事から画像データをダウンロードする」という作業を自動化してみます。

STEP1:フォルダ構成
まずはフォルダ構成から見ていきましょう。
今回は以下の構成にしています。
06_rpa_download/
├─ main.py ⇐自動化のコードが書かれたPythonファイル
├─ run.bat ⇐実行ボタン
└─ output/ ⇐ダウンロード先のフォルダ
イメージとしては、「run.bat」を実行することで、「main.py」が実行され、「output」フォルダに自動でダウンロードされる流れです。
STEP2:ライブラリのインストール
続けて「playwright」というライブラリをインストールします。
この「playwright」はPythonからブラウザを自動操作するためのライブラリです。
ターミナル上で以下のコマンドを実行しましょう。
pip install playwright
playwright installSTEP3:Pythonコードの作成
続けて、Pythonで自動化のコードを記載していきます。
「main.py」を作成し、以下のコードを実装しましょう。
from pathlib import Path
from playwright.sync_api import sync_playwright
ARTICLE_URL = "https://it-newcomer.com/python-role-playing-game/"
BASE_DIR = Path(__file__).resolve().parent
OUTPUT_DIR = BASE_DIR / "output"
OUTPUT_DIR.mkdir(exist_ok=True)
with sync_playwright() as p:
# ブラウザの起動
browser = p.chromium.launch(headless=False)
page = browser.new_page()
# 記事ページへのアクセス
page.goto(ARTICLE_URL)
# ダウンロードボタンのクリック
with page.expect_download() as download_info:
page.locator("a.wp-block-file__button[download][href*='tileset.png']").click()
# 指定フォルダへの保存
download = download_info.value
save_path = OUTPUT_DIR / "tileset.png"
download.save_as(save_path)
print("ダウンロード完了")
browser.close()ポイントとなる部分だけ以下で解説しますね。
【ポイント】ダウンロードボタンのクリック処理を実装
今回のポイントは「Webページの中でどうやってダウンロードボタンを探すか」というところです。
以下のコードで実装しています。
# ダウンロードボタンのクリック
with page.expect_download() as download_info:
page.locator("a.wp-block-file__button[download][href*='tileset.png']").click()ここでは、指定したHTMLの要素を探しに行っています。
HTMLの要素を確認するために、クリックさせたいダウンロードボタンに対し、「右クリック→検証」を選択することで確認してみましょう。

すると↓こんな感じの要素が出てきているはずです。
<a href="https://it-newcomer.com/wp-content/uploads/2025/12/tileset.png" class="wp-block-file__button wp-element-button" download="" aria-describedby="wp-block-file--media-f150d3df-8d29-431e-bf93-bdb5eb4009e3">ダウンロード</a>これを先ほどのコードで、
- hrefにtileset.pngを含む
- download属性が付いている
- wp-block-file__buttonクラスを持つaタグ
この3つの条件を満たすものをクリックする、という処理を実装しています。
STEP4:.batファイルの作成
最後に、ボタン一つで動作するよう、「.bat」ファイルを作成します。
「.bat」ファイルではWindowsでコマンドを実行することができます。
「run.bat」ファイルを作成し、以下のコードを記載しましょう。
@echo off
cd /d %~dp0
python main.py
pauseこれで「PythonでWebページのファイルダウンロードを自動化」という一連の作業は完成です。
【完成】実行してみよう
それでは実際に「run.bat」ファイルをダブルクリックで実行してみましょう。
すると、↓こんな感じでブラウザが自動的に開きます

実際に「output」フォルダを見に行くと、画像データがダウンロードされていることが分かります。

以上が「PythonでWebページのファイルダウンロードを自動化してみる」という記事でした。
このやり方を踏襲すれば、ログイン認証のない自社サイトや個人のページであれば自動化できるかと思います。
ぜひやってみてください。
お疲れさまでした。
