Python

【Python】銀行口座情報の自動取得

投稿日:2019年3月27日 更新日:

目的

銀行口座の預金残高を確認したい。
でも毎回サイトにアクセスしてログインID、パスワードを入力するのが面倒くさい。(そんなことするくらいなら確認しない。)
家計簿アプリに口座情報を連携するのも一つの方法だけど、データをローカルにためて後で自由に分析したい。
そんな自分のニーズを満たすため、 pythonを使って銀行口座にアクセスし、データを取得するスクリプトを書いてみます。

開発環境

  • OS  Windows10
  • ツール Anaconda3(python3)

selenium のインストール

seleniumはブラウザを自動操作できるライブラリです。今回はseleniumを使用してブラウザ経由で自分の口座にアクセスしたいと思います。

Anacondaのインストール時に一緒に用意されるAnaconda promptを開いて、以下を実行し、seleniumをインストールします。

pip install selenium

Chrome Driverをインストールする

次にブラウザ側の必要ツールです。今回はブラウザとしてChromeを使用したいと思います。

seleniumからchromeを自動操作して口座にアクセスする流れです。そのためには、Chrome Driverが必要になります。

以下の手順でインストールします。

  1. Chromeを立ちあげ、右側のメニュー(・3つのやつ)→ヘルプ→Google Chromeについてを開く
  2. Chromeの Chromeのバージョンを確認する
  3. Chromeバージョンに対応したドライバをインストールする
  4. インストールしたドライバを適当なディレクトへ移す。

Pythonスクリプト

以下のようなコードで動かせました。

from selenium import webdriver

print('please input password')
url = <口座サイトURL>
driver = webdriver.Chrome(executable_path=<ドライバPATH>\\chromedriver.exe")
driver.get(url)

id = <あなたのログインID>
psswd  = <あなたのパスワード>

#ID入力(サイト毎に要素は適宜変更する)
search_box = driver.find_element_by_name("ID_NO").send_keys(id)

#パスワード入力(サイト毎に要素は適宜変更する)
search_box = driver.find_element_by_name("PASSWORD").send_keys(psswd)

#ログイン実行(サイト毎に要素は適宜変更する)
search_box = driver.find_element_by_class_name("buttons").click()
print('login success')

#残高の値取得(サイト毎に要素は適宜変更する)
balance = driver.find_element_by_class_name("number").text

#残高表示
print('口座残高は',balance)

#ドライバ終了
driver.quit()


注意点

上記の例ではパスワードを毎回入力する対話式になっています。
もしパスワードをソースコードへ直接記述したい場合はAESによる暗号化などと組み合わせて平文は書かないようにするほうがセキュリティ的にはおすすめです。

-Python

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

CentOSへのAnacondaのインストール

Contents1 目的2 環境3 Anacondaとは?4 pyenvのインストール5 Anaconda3のインストール 目的 pythonでデータ分析できる環境を作りたい。そのため、必要なパッケー …

【Python】Doc2Vecで類似文書の表示

Contents1 概要2 タスク設定3 使用する諸々4 Step1:データ取得5 Step2:gensimのインストール6 Step3:モデル作成6.1 データ読み込み6.2 形態素解析6.3 学習 …

【Python】PaSoRiによるICカードの読み取り

Contents1 目的2 環境3 方針4 Step1 : WinUSBのインストール5 Step2 : libusbのインストール6 Step3 : Pythonによる実装7 結果 目的 交通機関な …

  ImportError: Missing required dependencies [‘numpy’] の対処

Contents1 概要2 発生事象3 対処法4 念のため5 教訓 概要 windows10上のAnaconda3(python3系)環境でpandasを使用しようとしたところ、以下のエラーが出たため …

【Python】pandas でnanデータを判定する方法

Contents1 概要2 データ3 NaNの判定パターン3.1 DataFrameで判定する場合3.2 Seriesで判定する場合3.3 要素で判定する場合3.3.1 numpy.float64のデ …

言語切り替え

カテゴリー