2023年4月11日URLをコピーしました!自分が持っている株(米国ETF)の価格を円換算して自動でLINEに送ってくれるpythonプログラムを作成しました。いう人はスクレイピングからやったらいいと思うよ。【Pyt...このPythonプログラムを毎日指定した時間に動くように設定してみました。params=payload)作り方は別の記事で説明してます。いう人はスクレイピングからやったらいいと思うよ。【Pyt...ただ、Pythonプログラムを作っても、動かすためにクリックするのは人力です。自動で情報を取得してくれるファイルを作ったのに、手動で実行しないといけないのは面倒くさい。いうことで、株価の円換算価格を自動取得するpythonファイルを自動で実行できるようにしたいと思います!Pythonプログラムを自動で動かす方法Pythonプログラムを自動で動かすにはいくつか必要なものがあります。PythonプログラムバッチファイルタスクスケジューラPythonプログラムが必須なのは当然ですね。バッチファイルとタスクスケジューラって何?説明します。タスクスケジューラって何?Windowsに標準で入っている、一度設定するだけで仕事を自動化できる神ソフト。僕もこの時まで存在を知りませんでした。バッチファイルって何?コマンドプロンプト上で動くファイル(拡張子は「.bat」)。バッチファイル上の処理を順番に行っていくだけのファイル。一度作っておけば色んな作業をダブルクリックだけで行うことができる。バッチファイルによくやる作業を羅列しておくと、バッチファイルを1つ動かすだけで順番に処理してくれます。これらをどうやって使うのかを見ていきましょう!バッチファイル(.bat)でpythonファイルを実行タスクスケジューラで「.py」のファイルを直接実行してもいいんですが、なぜか上手くいかないことがあったので、バッチファイルを作っていきます。タスクスケジューラで「.pyファイル」を動かすのではなく、「.pyファイルを動かせ」という命令が書かれた「.batファイル」を動かすというわけです。.pyファイルちょっと回りくどいですが、こっちの方がうまくいきました。それではさっそく作っていきましょう。メモ帳を開いて以下のコードをコピペしましょう!意味は考えないことが大事です。%~dp0\scraping-prototype.py意味も知りたいそんな人のために軽く内容を説明しておきます。rem:この行がコメントになる。directory(チェンジディレクトリ)の略。コマンドプロンプトが参照しているディレクトリを移動する。%~dp0:バッチファイルがあるディレクトリ一番下の行:バッチファイルがあるディレクトリの「scraping-prototype.py」を実行する。このテキストファイルを「auto_python.bat」という名前で保存します。ディレクトリの考え方が初心者には結構な難所です。ディレクトリの考え方を初心者なりにまとめた記事はこちらあわせて読みたいPython初心者がつまづきやすいディレクトリを初心者が説明してみた。今までパソコンを触る機会はそれなりにあった僕でもIT企業に入社して初めて聞く単語でした。ディレクトリは理解しておかないと、プログラミング...ちなみに僕は詳しい人に聞いてプログラムを書いてます。今回のバッチファイルの書き方では「.pyファイル」と「.batファイル」は同じディレクトリ(フォルダ)に保存していないと動きません。バッチファイルを書いて自分でディレクトリを設定できる人は別のディレクトリにおいてもOK。名前は拡張子を「.bat」で保存。このbatファイルがきちんと動くか、1度実行してみましょう!ダブルクリックしてみて動けばOK。←バッチファイルのアイコン一瞬コマンドプロンプトの黒い画面がぱっと出てきて消えて、pythonファイルが実行されたはずです。実行されなかった人はコピペミスかファイル保存場所のミスです。(断言)実行された内容を目で確認したい場合は、batファイルの最後に「pause」と付け加えてみましょう。offと書けばこの気持ち悪い文字化けを消すことができます。offコマンドプロンプト画面にバッチファイルに書いたコマンドを復唱(表示)させないようにするための指示。最初に書けば、そのファイルのコマンドが全て復唱されない。%~dp0\scraping-prototype.pypause※1行だけ非表示にしたい場合は、非表示にしたいコマンドの先頭に@をつけます。これでpythonファイルを実行するbatファイルが完成です。次にタスクスケジューラーでこの.batファイルを自動実行するように設定していきます。タスクスケジューラでbatファイルを自動実行タスクスケジューラって初めて使うわ僕もそうけど、やってみると意外と簡単です。タスクスケジューラと検索して実行。「タスクスケジューラライブラリ」→「基本タスクの作成」をクリック。このタスクの名前と説明を入力します。名前は自分が分かるように名前を付けましょう。今回は「株価自動送信」とでもしておけばOK。説明はタスクの内容を簡単に書いておきます。僕は「auto_python.bat→scraping-prototype.py実行」と書いて、どんなプログラムが実行されるか書いてます。後で見返した時にパッと理解できるように実行するタイミングを選択。タスクを実行したい時間を指定します。1つだけ注意点があります夜中などPCをシャットダウンしている時間帯は実行できません。夜中に一瞬起動して実行した後シャットダウンして欲しいのであれば、BIOS設定が必要です。タスクはプログラムの開始。実行するプログラムを選択します。検索でも、「参照」から選択してもOKこれで設定は完了です!本当に実行されるの?本当に実行されるか不安な人は、数分後を設定して実行されるか確認してみましょう。ライブラリで目当てのタスクをダブルクリックすれば編集可能です。まとめこれで自動でプログラムが実行できるようになりました!しかし1つ問題があります。PCがシャットダウンされている時はタスクマネージャは働きません。深夜などPCの電源が落ちている時間帯に実行して欲しい場合は、PCの電源を自動でONにするプログラムが別で必要になります。BIOSを使った設定です。やり方は別の記事に書いているので参考にしてください。PCが自動で起動して、勝手に作業をして、勝手にシャットダウンする設定をしたい。寝てる間に面倒な作業を勝手にやって欲しい。いった願いがある人に朗報です。こ...BIOSの設定が終わってやっと自動化と言えます。初心者がPythonでスクレイピングのプログラムを作ってみた2023年3月27日Python初心者がつまづきやすいディレクトリを初心者が説明してみた。大卒の人って仕事できないよね。思ってる高卒の人が多い理由を考察してみた。