見出し画像

Pythonを使ってお気に入りサイトのRSSを取得する➂ バッチファイルで自動処理

前回、以下機能を実装したPythonのプログラムを作成しました。
今回は作成したプログラムを、PCを自動起動して自動処理してくれるようにしてきたいと思います。

・複数サイトのRSSフィードを取得
・欲しいキーワードがタイトルかサマリ(記事の要約)に含まれるものを
 絞り込んで中間データを作成
・CSVファイルに保存
※CSVファイルが既にある場合は、保存記事との重複を確認し、
 不要データは削除

1. バッチファイルを作成する

コマンドプロンプト上で実行できる処理をまとめて、バッチプログラムとして作成することが可能です。

今回用意するプログラムは以下の通りです。

cd (作成したpythonファイルが存在するフォルダパス)

Python ファイル名.py

たったこれだけです。
これをテキストファイル(メモ帳)に記述し、保存時に拡張子を.batとして保存してください。

例えば、僕の場合ですと以下のように記載しました。

画像1

cdは、チェンジディレクトリといって、ざっくりいうとフォルダ移動です。
ファイル実行について、pythonと前書きして、ファイル名を記載します。

なお、拡張子を.batとすると・・・、ファイルアイコンは以下のようになると思います。(歯車のアイコン)

画像2

一度、試しにコマンドプロンプトでcdコマンド、とPythonのファイル実行をしていただければと思います。

また、実際にbatファイルを作成して、実行してみてください。

2. PCの自動起動

WindowsにはBIOS(バイオス)というものがあり、ざっくりいうとOS(オペレーティングシステム)自体が起動する前に、CPU・デバイスの管理・制御を行うためのものです。

PCによって起動方法は違うので、ご自分の機種でどうBIOSを起動するかを確認してみてください。
私の場合は、起動時にF2(ファンクションキー)を押下することで、BIOSが起動します。

起動しましたら、私の場合はDELLを使っており、BIOSの中のPower Management 内のAutoOnで時間設定をします。

・参考(DELLのサポートページより)

画像3

上記、Power Management内に存在

3.  タスクマネージャでのバッチファイル起動

これで、「PC電源を起動」→ 「バッチファイルを起動」→「(バッチ処理)Pythonファイルがあるフォルダに移動」→ 「(バッチ処理)プログラム実行」まで揃いました。

但し、自動化であれば、「PC電源を起動」→「自動でバッチファイルを起動」→「(バッチ処理)Pythonファイルがあるフォルダに移動」→ 「(バッチ処理)プログラム実行」→「PCシャットダウン」としたところです。

「自動でバッチファイルを起動」については、Windowsのタスクスケジューラを利用することで対応可能です。

(1) タスクスケジューラーの設定方法

PCのタスクスケジューラアプリを起動します。

画像4

(2) タスク作成方法について

タスクスケジューラライブラリを選択し、タスクの作成を選択します。

画像5

タスクの作成をすると、ポップアップで以下のような表示がされると思います。この全般・トリガー・操作・条件等を定義することで対応が可能です。

画像6

今回のRSSフィード取得については、以下のように私は設定しています。

・全般

画像7

・トリガー

画像8

・操作 (2つ目のプログラムについては後述します)

画像9

・条件

画像10

・設定

画像11

(3) 自動シャットダウンについて

上記の操作タブにて、2行目にあるprogram_end.batについて補足します。
コマンドプロンプトでシャットダウンを行う方法があり、それをバッチファイルに記述したものとなります。

コマンドは以下のとおりです。

shutdown -s -t (シャットダウンまでの秒数)

これを同様にテキストファイルに記述し、拡張子を.batに変更すればOKです。

4. 実行履歴の確認

先ほどのタスクスケジューラーライブラリの履歴タブで、実行結果等の確認が可能です。

画像12

なお、私は基本PCを夜いじってることが多いので、BIOSでのPC自動起動を23:00に実施。その後、タスクスケジューラーで、23:05にRSSフィード取得のPythonプログラムのバッチ起動と、PC起動後20分でPC自動電源オフのバッチ起動をするようにしています。

自宅におらず、23:00を迎えた場合は勝手に立ち上がってRSSフィードを取得してくれるイメージです。(PC使ってる時も、23:20頃にはRSSフィード取得してPCシャットダウンされるイメージです)

是非、ご自身で色々と応用してみてください。

いいなと思ったら応援しよう!