Seleniumで自動ログイン
ミナピピンの研究室
4 Pockets
ミナピピンの研究室
Pythonでのデータ分析・機械学習・スクレイピング・自動化などを中心に初心者向けて分かりやすく解説するブログです
SBI証券にSeleniumで自動ログインする
今回はFX・株式を自動取引するための前準備として、まず「Selenium」を使ってSBI証券に自動でログインしてみます。
#ライブラリをインストールする import chromedriver_binary from selenium import webdriver from selenium.webdriver.common.desired_capabilities import DesiredCapabilities import time import random #タイムスリープに使うランダムのリストを生成 timerandom=[] for i in range(10,180): timerandom.append(i) timerandom rtc=random.sample(timerandom,4) #クラスの呼び出し&SBIのサイトのアクセスする drv = webdriver.Chrome() drv.get("https://www.sbisec.co.jp/") time.sleep(rtc[0]) #ユーザーネームを入力する word=drv.find_element_by_xpath('//*[@id="user_input"]') word.send_keys("ユーザーネーム") time.sleep(rtc[1]) #パスワードを入力する path=drv.find_element_by_xpath('//*[@id="password_input"]/input') path.send_keys("パスワード") time.sleep(rtc[2]) #クリックする drv.find_element_by_xpath('//*[@id="SUBAREA01"]/form/div/div/div/p[2]/a/input').click() time.sleep(rtc[3])
処理の間にtime.sleep()を入れているのは、定期的に実行して向こうのブラウザの自動操作を検知するアルゴリズムに引っかからないようにするためです。sleepする時間も10秒から180秒までの間の時間をランダムに選択することで挙動を不規則にしています。
終わり
一応こんな感じで証券会社のサイトに自動でログインして自動取引ができないことはありませんが、基本的にこういうところはseleniumみたいなブラウザ自動操作系のものは自動検知して弾かれるので、おとなしくAPIの用意されているところでやるのが無難です。
まあ現状証券会社で取引系でAPIを用意しているところはないので、自動取引がしたいのであればビットコインや為替FXなんかでやるしかないでしょうねー。
まあそれでも自動取引で儲かるとも限りませんし、あくまでエンジニアとしての技術向上の一環としてくらいでやるのが良いと思います。では~
関連記事:【Python】AUカブコム証券のKabuステーションAPIのサンプルコードと使い方①(口座残高・注文一覧)
関連記事:【Python】KabuステーションAPIのサンプルコードと使い方②(板情報・価格情報の取得)
関連記事:【Python】KabuステーションAPIのサンプルコードと使い方③(現物取引・信用取引の注文発注)
コメント