このブログではこちらの記事が2番目くらいに人気です(2023年10月 現在)
(ちなみに1番人気なのは何気に書いた 【お菓子作り】シフォンケーキを焼く一番いいオーブンレンジが欲しい!11選 という記事です笑)
みなさん XPath による情報取得、スクレイピングに興味があるようです
多くのアクセスを頂いております
ですが、記事の内容が難易度が高めだったりするので、コメントにていくつか質問を頂いております
今回はその質問に答えていきたいと思います
質問「エラーが出てしまい実行できません」
エラー TypeError: Cannot read properties of undefined (reading ‘indexOf’) getTag @ コード.gs:6
のようなエラーが出てしまうとのことでした
こちらのエラーですが実行するメソッドの指定が間違っている可能性があります
GAS の画面上辺りに画像のような実行メソッドを指定できる箇所があります
こちらで Test_01 と指定し、実行することでエラーは出なくなります
最初はこのメソッド名が違うと思いますので、ちゃんと指定してあげましょう
GAS を使い始めたばかりの方は必ずと言っていいほど引っかかるところだと思います
(自分も何回もこのエラーを見てきました・・)
質問「テストコードはセルとの連携が必要?」
こちらの記事で紹介したコードは GAS のみで挙動するコードになります
なので、スプレッドシート側からセルの内容を取得、反映する処理は別途必要になります
にてスプレットシートの情報を取得する方法を紹介しています
よかったら記事を覗いてみてください
下のリンクの書籍なども参考になると思います
こちらの書籍は スプレットシート/GAS を体系的に学べるのでオススメです!
質問「実際に使用しているコードを見せて欲しい」
【GAS】国内高配当株をスプレッドシートで管理する方法【サンプル付き】
↑こちらの記事でサンプルを紹介しています
コードも記事内に記載していますので、参考にしてみてください
ただ実装が込み入っているので難易度は高めです
詳細な解説の要望がありましたら、別途詳しい記事を用意したいと思います
質問「URL と XPath を使ってウェブ上で株価を取得したいのですが、公開してくれたGASで出来ますか?」
出来ます!
こちらの記事に載せているGASコードは実際に使用しているものです
私自身もこのコードをベースに 国内高配当株 を管理しています
(なかなか貧弱なアルゴリズムでの買い足しをしていますが、成績は悪くないです笑)
運用結果はこちらの記事で公開してます
質問「複数の株情報を取得したいのですができますか?」
こちらも可能です!
例えば Test_01 を改変して、
function Test_01(code)
のように銘柄コードを渡すようにすると、呼び出し側から
Test_01(1605)
Test_01(1835)
Test_01(1928)
・・・
のように呼び出すと、複数の株情報が取得できます
ログの出力でしか取得した情報は確認できませんが、情報はたしかに取れます
for文 などを使うと繰り返し処理ができるので、そのような実装にもできますね
外部サイトになりますが このあたり が参考になると思います
簡易サンプル
スプレッドシートと連携した 超簡単なサンプル を用意しました!
こちらを参考にしていただければ、スプレッドシートに取得結果を表示できます
スプレッドシートで株管理を行いたい方はこちらの記事のサンプルをベースにしても良いかと思います!
まとめ
コメントを頂いているのに返答できず、申し訳ありませんでした!
今後もなるべく答えいるようにしますが、今回のようなブログ記事という形になるかと思います
即時返答はお約束できませんが、なるべく早く回答したいと思います
どうしても急ぎでという方はコメントにそのように書いていただけたらと
以上、よろしくお願いします!
おすすめの書籍です。よかったらどうぞ!
コメント
スプレッドシートでの株価管理について、実際のプロジェクトを見せて頂き大変参考になりました。
エクセルVBAのような機能がいつのまにか実装されていたんですね。
しっかりと投資に実用されているようで、凄いです。
自分はエクセルのみ使いこなせる家族のため、互換性のあるスプレッドシートでの株価管理を調査していました。
スプレッドシートのimportxml関数で手軽に出来るかと思いきや、量が増えるとほんとに不安定で困っていました。
お陰様で安定かつエクセルライクな株価取得環境が実現できました。
ありがとうございます。
お役に立てて幸いです!
importxmlはお手軽だけど物量に弱いですよね
GASがなかったら積んでました
自分ももとはエクセル勢です笑
VBA懐かしい