分足の為替データを取得するスクリプト(Python)
ロシア語のサイトだが、アカウント作成とか面倒なことなしにデータが置いてあった。
言語の選択で英語も可。
Архив котировок Forex для ProSuite и MetaStock
いちいち手動でダウンロードして全部解凍するのがめんどいから
各ページにアクセスしてzipをダウンロードし、解凍して保存するスクリプトを書いた。
github.com
こないだ試したプログレスバー(tqdm)も使った。
kaerouka.hatenablog.com
前回はipythonから試してダメだったが、cPythonではさほど問題なかった。
少しだけ問題があって、たぶんtqdmは別スレッドで動作しているので、tqdmでプログレスバーを出す前に
標準出力に出力してるとちょっと変な動作になった。
こんな感じ。
データの配置場所のURLを収集中。 0%| | 0/4698 [00:00<?, ?it/s]収集完了。 データを取得中。 31%|███ | 1464/4698 [52:19<1:56:39, 2.16s/it]
収集完了のprintは、プログレスバーを出すより前にやってるはずなんだけど、こんなんなっちゃった。
対処法がありそうだけど面倒だから放置。
プログラムの実行速度だけど、終わるまでに3時間くらいかかる。
5000個近いファイルのダウンロードになるみたいで、並列処理無しじゃこんなもんか。
2016/02/03 追記
tqdm使う前にflushしたらずれなくなった。
print("データを取得中。") # tqdmが非同期で、表示がずれるためいったんflush stdout.flush() for data_url in tqdm.tqdm(urls):
並列処理しながらtqdm使ったらどうなっちゃうんだろう・・・w