soonraah / evening_moon

A Python library to get and analyze data of financial instruments for iDeCo provided by SBI Securities.
BSD 2-Clause "Simplified" License
2 stars 1 forks source link

ファンドデータの取得 #3

Closed soonraah closed 5 years ago

soonraah commented 6 years ago

ファンドのデータを取得できるようにします。 以下の機能を含みます。

sakamossan commented 6 years ago

日付指定でcsvをダウンロードする

form要素のsubmitメソッドがjsから呼ばれる処理になっていたので、chrome-developertoolでブレイクポイントをかけて下記の式をwatchしたらPOSTされる内容を確認できた

$(standardPriceForm).serializeArray()

formの内容通りにPOSTすると期間指定でデータを取得することができた。

01:14:19-sakamotoakira@roppongi:~/repos/evening_moon /(T_T)\ rc:130 [3-get-data]
$ curl 'https://site0.sbisec.co.jp/marble/fund/history/standardprice/standardPriceHistoryCsvAction.do?fund_sec_code=29316153' \
>  --data 'in_term_from_yyyy=2017&in_term_from_mm=01&in_term_from_dd=30&in_term_to_yyyy=2017&in_term_to_mm=05&in_term_to_dd=30&dispRows=100&page=0&settleDay=2015/03/31&lastUpdateDate=2017/12/29&fund_sec_code=29316153' | tail
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  3208  100  3003  100   205   7981    544 --:--:-- --:--:-- --:--:-- 15722
"2017/02/10","10263","207","2813"
"2017/02/09","10056","-17","2742"
"2017/02/08","10073","58","2740"
"2017/02/07","10015","-100","2708"
"2017/02/06","10115","12","2707"
"2017/02/03","10103","-14","2673"
"2017/02/02","10117","25","2650"
"2017/02/01","10092","-64","2628"
"2017/01/31","10156","-161","2627"
"2017/01/30","10317","12","2659"

クエリパラメータをいじれば1リクエストで制限なくデータが取得できてしまった (動的に取得されているデータなので、先方の負荷が少し気になるが大丈夫だろうか)

curl 'https://site0.sbisec.co.jp/marble/fund/history/standardprice/standardPriceHistoryCsvAction.do?fund_sec_code=29316153'  --data 'in_term_from_yyyy=2015&in_term_from_mm=01&in_term_from_dd=01&in_term_to_yyyy=2017&in_term_to_mm=12&in_term_to_dd=29&dispRows=10000&page=0&settleDay=2015/03/31&lastUpdateDate=2017/12/29&fund_sec_code=29316153'
soonraah commented 5 years ago

merge 済みなので完了にします。