SBI口座の自分の持ち株をエクセルに値で貼り付ける【Python・機械学習】

プログラミング
スポンサーリンク

機械学習のデータ集めのために、持ち株情報が欲しい

 

将来的に機械学習で株価の検証がしたいと考えています。前の記事で20年分の情報をCSVでダウンロードしました。

 

 

しかし、貸借比率でも株価検証を行うため、詳細な情報が欲しくなりました。そこでまず第一段階として、自分の持ち株がどれくらいあるのか把握するために、スクレイピングを行うことにしました。

 

コード

 

import time  # スリープを使うために必要
from selenium import webdriver  # Webブラウザを自動操作する(python -m pip install selenium)
import chromedriver_binary  # パスを通すためのコード
from selenium.webdriver.common.keys import Keys
import openpyxl
from openpyxl import load_workbook
import pyperclip
import openpyxl as xl

# エクセルファイルを開く(自分のファイルがある場所を指定)

target_file = r"C:\Users\Iwaki\PycharmProjects\port\tinsyaku.xlsx"
wb = openpyxl.load_workbook(target_file)

# 書き込むシートを指定
ws = wb["Sheet2"]

driver = webdriver.Chrome()  # Chromeを準備
driver.get('https://site2.sbisec.co.jp/ETGate/')
# time.sleep(5)  # 5秒間待機
# ユーザーネームとパスワードを設定
username = "自分のユーザーID"
password = "自分のパスワード"

# ユーザーネームテキストボックスを選択
user_id = driver.find_element_by_id("user_input")
# ユーザーネームを入力
user_id.find_element_by_name("user_id").send_keys(username)
# パスワードテキストボックスを選択
user_pass = driver.find_element_by_id("password_input")
# パスワードを入力
user_pass.find_element_by_name("user_password").send_keys(password)
# ログインを押下
login = driver.find_element_by_class_name("ov").click()

# 口座管理に遷移
driver.find_element_by_xpath("/html/body/div[1]/div[1]/div[2]/div/ul/li[3]/a/img").click()

# 全選択
driver.execute_script("document.execCommand('SelectAll');")

# コピー
copy = driver.find_element_by_tag_name("body").send_keys(Keys.CONTROL, 'c')

# クリップボードにコピー
copy2 = pyperclip.paste()

# エクセルに書き込み


row = 1
for line in copy2.split("\n"):
    ws.cell(row=row, column=1).value = line
    row += 1
wb.save(target_file)

print(copy)

# 確認用出力
print("-----------------------------------")
print(copy2)

driver.quit()  # ブラウザを閉じる

 

このようにすれば完了します。

 

ちなみに、selenium、openpyxlは個別にダウンロードが必要です。pycharmの場合、【ファイル】➡【設定】➡【プロジェクトインタープリター】➡【+】でそれぞれを検索し、ダウンロードしておきます。

 

 

と、このように値で貼り付けができました。

 

 

タイトルとURLをコピーしました