さくら VPS Python Selenium Web 自動操作
Selenium4 で CSV ファイルダウンロード
ここまでで、Selenium4 を使用して Google トップペ-ジに自動で入ることができるようになりました。
引き続き、Selenium4 で 豪ドル/円の毎日のレ-トの CSV ファイルをダウンロードしてみます。
金融系のデ-タファイルはセキュリティ管理が厳格で自動ダウンロードが難しいのが実情です。
当たり前と言えばそれまでですが、これを回避しながらダウンロードしていきます。
デ-タは
Money Partners
から入手します。
もちろん会員登録をして ID とパスワ-ド を取得する必要があります。
口座開設方法は
こちら
に詳しくかかれています。
口座開設に費用はかかりません。
Selenium4 準備
ディスクトップ機能追加
Selenium と ChromeDriver
Google Chrome
webdriver manager
のインスト-ルが必要です。
まだの方は、
Selenium Web 自動操作動作停止
を参考にインスト-ルしてください。
秘密にすべき認証情報の取扱
Web ペ-ジの自動操作を行なおうとすると認証のための秘密のキ-が必要になることがあります。
スクリプトに秘密のキ-を直接書かないようにすることが大切です。
通常は、これらのキ-は環境変数に書いておいてこれをスクリプトから読込むようにします。
Python の os モジュール os.environ を使用すると環境変数の値を読込むことができます。
ただし、スクリプトの実行時に環境変数を渡すためには
forego または python-dotenv モジュ-ル
が必要です。
forego は
$ sudo forego start
で起動させておくことが必要です。
どうも forego は負荷の高い処理のようです。
よって必要時に端末から
$ forego run python3 sc_env_set.py
のようにしてみなさん起動させているようです。
そんな理由から、私は python-dotenv の方が使い易いと思います。
python-dotenv インスト-ル
python-dotenv モジュ-ルをインスト-ルします。
シリアルコンソ-ル(β版)を開き
yamada@ik*-***-*****:~$
sudo pip3 install python-dotenv
とします。
$ pip3 show python-dotenv
とし Location で示されるディレクトリ
Location: /usr/local/lib/python3.8/dist-packages
にパッケージがインストールされていることを確認します。
.env ファイルの設置ディレクトリ
.env ファイルはどこに置くべきでしょうか?
作成した Python スクリプトから dotenv.load_dotenv() 関数を呼び出すと、
そのスクリプトファイルがあるディレクトリを起点に、
.env ファイルが見つかるまで親ディレクトリを遡りながら検索します。
なので、あるスクリプトファイルで使用する .env ファイルは、
そのスクリプトファイルのルートディレクトリに配置 しておけば、
まずロードに失敗することはありません。
今回は
/home/yamada/public_html/
の直下に .env ファイルからの環境変数読出ファイル sc_sele_mane_go-s4.py
を作成しますのでファイル構成は
/home/yamada/public_html/ sc_sele_mane_go-s4.py
/home/yamada/.env
のようにします。
.env ファイル作成
.env ファイルを作成します。
シリアルコンソ-ル(β版)を開き
そして nano エディタを開き .env ファイルを新規作成します。
yamada@ik*-***-*****:~$ nano .env
MANEPA_ID=12345678
MANEPA_PA=abcd1234
.env ファイルにはキーと値のペアを書いておくようにします。
今回は1組のみ作成します。
値の設定には " " はあってもなくてもかまいません。
MANEPA_PA="abcd1234"
のような書き方もあります。
新規作成が終わったら
Ctrl + o
Enter
Ctrl + x
で終了します。
次に、
yamada@ik*-***-*****:~$ ls -la .env
で .env の存在を確認します。
隠しファイルなので ls -la コマンドでないと確認できません。
さらに、
yamada@ik*-***-*****:~$ cat .env
で中身を確認します。
ここまでで、やっと .env 環境変数ファイルから ID と パスを読出す準備が整いました。
マネパ CSV ダウンロードファイル保存フォルダ作成
Selenium4 でダウンロードした CSV ファイルを保存するフォルダをあらかじめ作成しておきます。
シリアルコンソ-ル(β版)を開き
yamada@ik*-***-*****:~$ mkdir public_html/manep
として CSV ダウンロードファイル保存フォルダ manep をあらかじめ作成しておきます。
/home/yamada/public_html/manep
が作成できました。
マネパ CSV ダウンロードファイル作成
マネパ CSV ダウンロードファイル sc_sele_mane_go-s4.py を作成します。
出だしは selenium4 テストプログラム sc_sele_goo-test-4.py と同じです。
詳細は
selenium4 テストプログラムまとめ
を見てください。
違うのはデ-タが Money Partners
https://www.moneypartners.co.jp
に存在するので
driver.get('https://www.moneypartners.co.jp')
とする点です。
これで Money Partners のサイトに自動的に入ることができるようになります。
でもその前にしなければいけない設定があります。
引き続き Money Partners サイトに入る前準備を行なっていきます。