0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Python】『ニュースまとめサイト』を作ってみた(実践編)⑦

0
Last updated at Posted at 2026-05-25

今回は以下の内容を掘り下げます。

⑥ 自動実行:毎朝6時に勝手に動かす
手動で実行するのは自動化とは言えない。
→ Windowsで定期実行するにはどんな仕組みが必要?


調べてみた

「Windowsで決まった時間にプログラムを自動実行する方法」を調べてみました。
以前現場でLinux環境だったときにcronを使っていたりしましたが、Windows環境だとまた異なるということですね。

調べると タスクスケジューラ が出てきました。

Windowsに最初から入っている機能で、「毎日〇時にこのプログラムを実行してね」と予約しておける仕組みですね。名前も機能も知っていたけれども、実際自分で設定して使うなんてしたことなかったかも……。

【因みにcron とは?】
LinuxやMacで使われる定期実行の仕組みのこと。この機能がWindowsならタスクスケジューラになるというわけですね!

タスクスケジューラなら、コマンドを打つ必要はなく、画面をポチポチするだけで設定できるのでは!?
やさしい……!そういう簡単さ、嬉しい。


前提として

この設定はCursorに頼めない部分なのだそうで。
Cursorはあくまで「コードを書く場所」であり、Windowsの画面を操作する機能は持っていません。タスクスケジューラはWindowsが提供する機能なので、ここでは自分で設定していきます。
Cursorができること・できないことについては別途まとめたいと思います。

タスクスケジューラの設定については、以下が参考になりそうでした。

『タスクスケジューラにPythonスクリプトを設定し自動実行する』
https://fuyutsuki.net/task-scheduler-python/
『【Python】PythonスクリプトをWindowsタスクスケジューラで定期実行する』
https://kamesuke-blog.com/programming/python-windows-task-scheduler/

記事によるとパスを2つ確認する必要があるそうですので、そこからやっていきます。


事前準備:2つのパスを確認しておく

① Pythonの実行ファイルのパス

ターミナル(コマンドプロンプト)で以下を実行します。

where python

実際に実行した結果は以下の通りです。

①.png

……2行でてきた??
調べてみると、上のWindowsAppsの方はWindowsのダミーで、クリックするとMicrosoftストアが開くだけの偽物とのこと。
下のLocal\Python\bin\python.exeが本物のPythonらしいです。
Windowsの仕様で、システムにデフォルトで入っている「pythonと打ったらストアを開く」という機能のせいで1つ目が表示されているらしい……。
ちょっと紛らわしいな。
無効化する手順があるようなのでやっておきます。

【手順】
Windowsの設定 → アプリ → アプリ実行エイリアス → 「python.exe」と「python3.exe」をオフにする

スクリーンショット 2026-05-19 164048.png

ここですね!
Python (default) → python3.exe
Python (default) → python.exe
上記をオフにして再度実行すると……。

②.png

一行だけの結果が返ってきました。
これをコピーしてメモ帳に貼っておきます!

② プロジェクトフォルダのパス

プロジェクトを作成するにあたって、新規で作成したフォルダのパスもメモ帳にコピーしておきます!前回作成したフォルダを使います。
フォルダの中身はなんのファイルもない状態にしてあります。
今回使用するフォルダの名前はnews-digestとしています。

C:\Users\***\Documents\news-digest

タスクスケジューラの設定手順

① タスクスケジューラを開く

キーボードの Windowsキー + R を押して「ファイル名を指定して実行」を開きます。
taskschd.msc と入力してOKをクリックします。

② 基本タスクの作成

右側のメニューから「基本タスクの作成」をクリックします。

③ タスクの名前をつける

名前に「AIニュースまとめ 自動実行」と入力します。
説明は空欄でもOKです。「次へ」をクリック。

④ トリガーの設定(いつ実行するか)

「毎日」を選択して「次へ」をクリックします。

開始時刻を「6:00:00」に設定します。
「1日ごとに繰り返す」はそのままで「次へ」をクリック。

⑤ 操作の設定(何を実行するか)

「プログラムの開始」を選択して「次へ」をクリックします。

3つの欄を埋めます。

入力内容
プログラム/スクリプト さっきメモしたpython.exeのパス
引数の追加 app.py
開始(オプション) さっきメモしたプロジェクトフォルダのパス

具体的にはこうなります。

プログラム/スクリプト:
C:\Users\***\AppData\Local\Programs\Python\Python311\python.exe

引数の追加:
app.py

開始:
C:\Users\***\Documents\news-digest

「次へ」をクリックします。

ここで出てくる app.py はFlaskアプリの本体ファイルのことです。「引数の追加」欄に入力することで「python app.py を実行してね」という意味になります。実際の実装では異なるかも……。

⑥ 完了

内容を確認して「完了」をクリックします。

これで設定完了とのこと。
翌朝6時になると自動でFlaskが起動して、ブラウザで http://localhost:5000 を開けばニュースまとめが見られます。


注意点:パソコンが起動していないと動かない

タスクスケジューラで実行するには、
その時間にパソコンが起動している必要があります。

シャットダウンしているとタスクは動きません。
スリープ状態なら動かせる設定もありますが、少し手間がかかります。

「毎朝起きたらパソコンをつけて、しばらくしたらブラウザで確認する」
という使い方が現実的かなと思っています。


ちゃんと動くか手動でテストする

設定後に「本当に動くか」確認したい場合の手順も記載します。
後ほど使用するかなと思いますので!

①タスクスケジューラの一覧で作ったタスクを右クリックして「実行」を選びます。
②ブラウザで http://localhost:5000 にアクセスして、ページが表示されれば成功です。

ただし、タスクスケジューラを実際に動かすのはWebページが完成してから。
今回は手順を調べる中で、テスト的に設定をしましたが、ちゃんと動くかの確認は後日ですね。


まとめ

  • Windowsで定期実行するにはタスクスケジューラを使う
  • Windowsキー + Rtaskschd.msc で起動できる
  • 設定に必要なのは「python.exeのパス」と「プロジェクトフォルダのパス」の2つ
  • シャットダウンしているときは動かない。スリープ状態ならOK
  • 設定後は右クリック「実行」で即テストできる

次回

疑問の掘り下げもラストスパートです!

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?