SBIのポートフォリオから銘柄名と前日比をスクレイピングするスニペット
まずコードから
Array.from(document.querySelectorAll('div.middleAreaM2 table:nth-of-type(4) > tbody > tr:nth-of-type(2) table tr')).filter((e, idx) => { return idx != 0 }).map((e) => { return Array.from(e.querySelectorAll('td')).filter((e, idx) => { return idx == 1 || idx == 7 }) }).map((e) => { return e.map((e) => { return e.textContent }) }).map((e) => { return e[0] + '(' + e[1] + '%)' }).join('\n')
結果はこんな感じ。
5301 東海カーボ(-5.78%) 4004 昭電工(-5.58%) 5310 東洋炭素(-5.22%) 5304 SECカーボン (-4.98%) 5302 日本カーボ(-4.15%)
実行するにはSBI証券にアクセスして、
- SafariだとDevelop -> Web Inspector
- ChromeだとView -> Developer -> Developer Tools
でコンソールを立ち上げ、上記のコードをコピペして実行できます。
map, filter, reduceの高階関数を使うと、色々捗ること多いので、使い方忘れないように頭の体操がてら定期的に復習してます。
書き慣れてないと途中でなにやってるかわからないと思います。
参考Qiita
配列の要素に対する処理には繰り返し構文よりも高階関数を使ってみよう
初めてのJavaScript 第3版 ―ES2015以降の最新ウェブ開発
- 作者: Ethan Brown,武舎広幸,武舎るみ
- 出版社/メーカー: オライリージャパン
- 発売日: 2017/01/20
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
確かな力が身につくJavaScript「超」入門 (確かな力が身につく「超」入門シリーズ)
- 作者: 狩野祐東
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2015/10/30
- メディア: 単行本
- この商品を含むブログを見る
徹底マスター JavaScriptの教科書 プログラミングの教養から、言語仕様、開発技法までが正しく身につく (Informatics&IDEA)
- 作者: 磯博
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2017/03/18
- メディア: 単行本
- この商品を含むブログを見る