Python で 豪ドル/円チャ-ト を探求

Python 豪ドル/円チャ-ト 概要

Python で 豪ドル/円チャ-ト を探求してみたいと思います。
豪ドル/円の動きを Selenium で CSV ファイルをダウンロードし、 それをチヤ-トグラフで表示し、そしてその後の価格変動を予測します。
まずはSelenium で CSV ファイルダウンロード-その2 の中で作成した sc_sele_mane.py を変更して豪ドル/円チャ-ト探求のための CSV ファイルを取得します。

豪ドル/円 CSV ダウンロードファイル作成

豪ドル/円 CSV をダウンロードするファイルを作成します。
元となるファイルは sc_sele_mane.py です。
これを改造します。
sc_sele_mane.py のファイル内容は Selenium CSV ダウンロ-ド-2 ファイルまとめ から見てください。

改造概略

改造内容の概略を示します。
① 100日分のデ-タ取得を140日分に変更
② 銘柄選択を米ドルから豪ドルに変更
③ ダウンロ-ドディレクトリ変更
④ ダウンロ-ドブラウザ終了
⑤ ダウンロ-ドファイル名変更

改造-① デ-タ取得日数変更

sc_sele_mane.py の 15行目を
now10 = now - datetime.timedelta(days=140)
に変更140日分のデ-タ取得をします。
土日にはデ-タがないので実質100日分の CSV デ-タが取得できます。

改造-② 銘柄選択を豪ドルに変更

最後から10行目、
select.select_by_value('7')
# valueが"7"のoptionタグを選択
のあとに以下4行を追加します。
# 銘柄選択
commo = driver.find_element_by_id('commodity')
select = Select(commo)
select.select_by_value('3')
# value"3" option 選択(豪ドル)状態

改造-③ ダウンロ-ドディレクトリ変更

sc_sele_mane.py の 26行目
options.add_experimental_option("prefs", {
"download.default_directory": "/home/yamada/public_html/download"
})

"/home/yamada/public_html/download"
部分を
"/home/yamada/public_html/manep"
に変更します。
この /home/yamada/public_html/manep はマネパからの専用のダウンロ-ドフォルダとし 他のファイルは入力しないようにします。

改造-④ ダウンロ-ドブラウザ終了

デ-タダウンロ-ド元の
https://account.moneypartners.co.jp /retail/pfx_download_chart.do
を終了します。
元ファイル sc_sele_mane.py では
driver.quit()
でいい加減にブラウザーを終了していました。
これでも良いのですが、きちっと終了させた方がよいと思います。
ログアウトボタンをクリックすると
[OK]ボタンと[Cancel]ボタンがポップアップします。
これを処理する必要があります。
そのためには Alert クラスが必要です。
ダイアログを制御するクラスです。
まずは Alert を import します。
from selenium.webdriver.common.alert import Alert
少し待って
time.sleep(4)
"OK or Cancel" の確認で OK を選択します。
Alert(driver).accept()

改造-⑤ ダウンロ-ドファイル名変更

ダウンロ-ドしたファイル名を mane_chart_go.csv に変更します。
sc_sele_mane.py の最後の部分に以下の内容を追加します。
path = "/home/yamada/public_html/manep/"
files = os.listdir(path)
でパスの文字列のリストを取得します。
ここには適当に最初のみ mane_chart_go.csv をおいておきます。
すると、最初は mane_chart_go.csv が存在しますので、
files[0] には CSV ファイル名 'mane_chart_go.csv'
が入ります。
files[1] には取得した
PFX_CHART_20210209160810.csv
--これは例です、数字部分が変化します--
が入ります。
と思っていたのですが間違っていました。
files[0]と files[1] に入るファイル名の順番は不定でした。
よってファイル名の文字数によってダウンロ-ドしたファイル名を取得します。
長い方が、ダウンロ-ドしたファイル名です。

files0 = files[0]
if len(files[1]) > len(files[0]):
  files0 = files[1]
path1 = path + files0
path2 = path + 'mane_chart_go.csv'
os.rename(path1, path2)

とすると path1 にあったダウンロ-ドファイル
PFX_CHART_20210209160810.csv
のファイル名が変更されて
mane_chart_go.csv
になります。
このときダウンロ-ドファイル
PFX_CHART_20210209160810.csv
は削除されています。
これまでは、ダウンロ-ドした CSV ファイルの名前がダウンロ-ドするたびに代わっていたものが、 これによりファイル名を常に、
/home/yamada/public_html/manep/mane_chart_go.csv
に変更することができます。
改造-④の部分をまとめると
path = "/home/yamada/public_html/manep/"
files = os.listdir(path)
files0 = files[0]
if len(files[1]) > len(files[0]):
  files0 = files[1]
path1 = path + files0
path2 = path + 'mane_chart_go.csv'
os.rename(path1, path2)

となります。

ここまでで、豪ドル/円 CSV ダウンロードファイル作成説明が完了しました。
引き続き、この改造ファイルをまとめます。

  • 豪ドル/円 CSV 改造ファイルまとめ に進む
  • 70VPS に戻る