GMOクリック証券のヒストリカルデータをpythonでダウンロードしてみる

GMOクリック証券ではFXの2007年以降の分足データをダウンロードできます。

データ量が多いのでpythonプログラムを書いて自動化しようと思います。

ログインしないといけないので口座開設必須です。


準備

ブラウザをコントロールするために、seleniumというライブラリでダウンロードしています。

seleniumをインストールしていない場合は次のコマンドを入力。

pip install selenium
seleniumでchromeをコントロールするためにchromeDriverが必要です。

GoogleChromeの設定から使用中のchromeのバージョンを調べて、同じバージョンのchromeDriverを以下からダウンロード。


ダウンロードしたexeファイルはこのpythonファイルと同じフォルダに置きます。



ソースコード


import time
import selenium.webdriver

def seleniumDL():

    driver = selenium.webdriver.Chrome('./chromedriver')

    driver.get('https://sec-sso.click-sec.com/loginweb/')
    time.sleep(3)
    user_name_text_box = driver.find_element_by_id('j_username')
    user_name_text_box.send_keys("user_id")
    password_text_box = driver.find_element_by_id('j_password')
    password_text_box.send_keys("password")
    driver.find_elements_by_name('LoginForm')[0].click()
    time.sleep(3)

    for year in range(2007,2023):

        driver.get('https://tb.click-sec.com/fx/historical/historicalDataList.do?y=' + str(year))
        links = driver.find_elements_by_link_text("DL")

        for link in links:
            link.click()
            time.sleep(3)

seleniumDL()

user_idとpasswordは自分のものに書き換えが必要。

ソースコードの前半はログイン処理、

後半は各年度の全てのリンクを取得し、一つずつクリックしていっています。

サーバーに負荷をかけないようにスリープも忘れずに。


解凍

必要無いかもだけど一応。

def unzip():
    import os

    #zipの入っているフォルダ名
    path = './zip/'
    #解凍先フォルダ名
    unzip_path = './unzip/'

    files = []
    zip_files = []

    #ディレクトリ内ファイルを列挙する。
    for x in os.listdir(path):
        if os.path.isfile(path + x):
            files.append(x)
       
    for y in files:
        if(y[-4:] == '.zip'):     #ファイル名の後ろ4文字を取り出してそれが.zipなら
            zip_files.append(y)  #リストに追加

    #解凍
    import zipfile
    for zip_file in zip_files:
        with zipfile.ZipFile(path + zip_file) as existing_zip:
            existing_zip.extractall(unzip_path)

    return
unzip()


後書き

・seleniumを使わなくてもrequestsを使ってもダウンロードができるそうです。(私はできませんでした…)

・このままだと分足のファイルが大量にできただけなので、それを繋げるプログラムが必要。後で記事を書くかも?

読んでいただきありがとうございました。

コメント

このブログの人気の投稿

アノマリーEAの評価版 ここからDLできます。

株価の日足をスクレイピングする。